C# 使用C从excel电子表格读/写#
我需要制作一个程序,将一些数据写入excel电子表格。基本的名字、姓氏、电话号码、每行的电子邮件,每个类别都有自己的列 我甚至不知道从哪里开始。如果有人能告诉我要引用哪些程序集,也许能给我指一个网站或一本书,介绍如何通过C#程序从excel电子表格中写入/读取数据,那就太好了C# 使用C从excel电子表格读/写#,c#,database,excel,C#,Database,Excel,我需要制作一个程序,将一些数据写入excel电子表格。基本的名字、姓氏、电话号码、每行的电子邮件,每个类别都有自己的列 我甚至不知道从哪里开始。如果有人能告诉我要引用哪些程序集,也许能给我指一个网站或一本书,介绍如何通过C#程序从excel电子表格中写入/读取数据,那就太好了 非常感谢。这一特殊功能在.NET中被称为“Excel自动化”,您可以使用C#操作电子表格 一个好的起点是, 问候,, 安迪。为什么不创建一个csv文件,并将其保存为xls。是否必须使用本机excel?取决于所需的复杂程度
非常感谢。这一特殊功能在.NET中被称为“Excel自动化”,您可以使用C#操作电子表格 一个好的起点是, 问候,,
安迪。为什么不创建一个csv文件,并将其保存为xls。是否必须使用本机excel?取决于所需的复杂程度:
- 编写逗号分隔值(CSV)文本文件。Excel将打开它,但是您不会得到任何格式
- 将HTML表写入文件,并将文件命名为filename.xls
- 在文档中写出一个XML文件
- 直接调用Excel并让它生成电子表格。(见切尔汉的回答)
class Contact
{
public string Firstname { get; set; }
public string Lastname { get; set; }
public string Email { get; set; }
public string PhoneNumber { get; set; }
}
您可以像这样将其导入excel
Application excelapp = new Application();
excelapp.Visible = true;
_Workbook workbook = (_Workbook)(excelapp.Workbooks.Add(Type.Missing));
_Worksheet worksheet = (_Worksheet)workbook.ActiveSheet;
worksheet.Cells[1, 1] = "First Name";
worksheet.Cells[1, 2] = "Last Name";
worksheet.Cells[1, 3] = "Email";
worksheet.Cells[1, 4] = "Phone Number";
int row = 1;
foreach (var contact in contacts)
{
row++;
worksheet.Cells[row, 1] = contact.Firstname;
worksheet.Cells[row, 2] = contact.Lastname;
worksheet.Cells[row, 3] = contact.Email;
worksheet.Cells[row, 4] = contact.PhoneNumber;
}
excelapp.UserControl = true;
您可以在此处阅读有关Excel互操作库的更多信息:正如cherhan所提到的,Excel自动化是Microsoft以编程方式创建电子表格的标准方法。这种方法的缺点是,它使用了COM互操作层,因此对运行代码的每台服务器都需要Excel(和许可证) 我还没有找到任何优秀的开源项目来做得更好,但是,我可以推荐一个做得很好的商业选项(另外,他们有一个基本的、很好的测试工具)。这种方法的一个主要优点是,它是100%托管代码,因此使部署更加整洁
选择可能取决于你是否愿意在图书馆上花费预算 谢谢大家,这让我开始了。