C#写一段代码,功能是自动生成一个csv文件,并自动获取电脑当前用户名称并保存至CSV第二行第二列的单元格内
时间: 2024-09-10 20:22:51 浏览: 51
C#如何通过T4自动生成代码详解
在C#中,你可以使用`System.IO.File`和`System.Security.Principal.Windows`来获取当前用户名,然后结合`CsvHelper`库来创建CSV文件。以下是一段示例代码:
```csharp
using System;
using System.IO;
using System.Text;
using CsvHelper;
using CsvHelper.Configuration;
namespace ConsoleApp
{
public class UserRecord
{
public string Username { get; set; }
}
class Program
{
static void Main(string[] args)
{
string currentUser = GetCurrentUser();
// 创建CSV文件并写入数据
var records = new List<UserRecord> { new UserRecord { Username = currentUser } };
WriteToCsv("users.csv", records);
Console.WriteLine($"CSV file created with current user name '{currentUser}' in it.");
}
private static string GetCurrentUser()
{
WindowsIdentity identity = WindowsIdentity.GetCurrent();
return identity.Name;
}
private static void WriteToCsv(string filePath, List<UserRecord> records)
{
var config = new CsvConfig { Delimiter = ";" }; // 如果你的CSV文件不是逗号分隔,可以更改此处的分隔符
using var stream = new FileStream(filePath, FileMode.Create);
using var writer = new StreamWriter(stream);
using (var csvWriter = new CsvWriter(writer, config))
{
csvWriter.WriteRecords(records);
csvWriter.NextRecord(); // 跳过表头(如果有的话),因为我们直接写入用户记录
csvWriter.WriteField(currentUser); // 写入当前用户
}
}
}
}
```
这段代码首先从Windows身份验证获取当前用户的用户名,然后创建一个包含这个用户名的`UserRecord`实例,并将其写入名为`users.csv`的CSV文件中,第二行的第二列(因为CSV通常是按行读取的,所以默认第一行被认为是表头)。
阅读全文