如何将列表数组写入Excel文件

我有一个包含一些数据的列表数组。 目前我可以看到控制台中的输出,现在试图添加到Excel文件。 任何人都可以解释我如何做到这一点。 这里是创build一个Excel表格并写入一些东西的代码。 但是,我如何结合这两个代码来看到在Excel中的输出。 我尝试了几种组合,但不能写入excel。 我是c#的新手。提前感谢!

foreach (Match m in linkParser.Matches(html)) { list.Add(m.Value); Console.WriteLine(m.Value); } Excel.Application oApp; // to open excel Excel.Worksheet oSheet; Excel.Workbook oBook; oApp = new Excel.Application(); oBook = oApp.Workbooks.Add(); oSheet = (Excel.Worksheet)oBook.Worksheets.get_Item(1); string fileTest = "output123.xlsx"; if (File.Exists(fileTest)) { File.Delete(fileTest); } oSheet.Cells[1, 1] = "some value"; oBook.SaveAs(fileTest); oBook.Close(); oApp.Quit(); 

互操作,单元 – 有点开销。 创build一个空的工作簿并将其保存为二进制资源。 无论何时您需要创build一个新文件,只需抓住该资源并写入磁盘。 然后使用Microsoft.Ace.OleDb.<version>连接到这个Excel文件。 你可以写到它像一个数据库表。 这是一个很好的文章,解释这个问题

http://yoursandmyideas.wordpress.com/2011/02/05/how-to-read-or-write-excel-file-using-ace-oledb-data-provider/

interop来看,特别是如果你编写服务器端应用程序,执行new Excel.Application()是没有效率的 – 你实际上打开了一个Excel程序。 您不想在服务器上打开任何Office program ,除非服务器专用于此服务器,并且您具有可以从卡住的Office App恢复内存的逻辑。 使用ACE您只需打开一个连接 – 非常简单,高效的内存pipe理方法。

在您的参考中包含Excel interop 。 这是一些快速和脏的代码。 请提及您正在使用哪个框架,因为在v4.0中添加了一些新的语法,而这些语法在v3.5上将不起作用

 using Excel = Microsoft.Office.Interop.Excel; 

现在编写下面的代码来创buildExcel应用程序。

  Excel.Application excel = new Excel.Application(); excel.Visible = true; Excel.Workbook wb = excel.Workbooks.Add(); Excel.Worksheet sh = wb.Sheets.Add(); sh.Name = "TestSheet"; // Write some kind of loop to write your values in sheet. Here i am adding values in 1st columns for (int i = 0; i < list.Count; i++) { sh.Cells[i.ToString(), "A"].Value2 = list[i]; } string filePath = @"C:\output123.xlsx"; // Save file to filePath wb.Save(filePath); wb.Close(true); excel.Quit(); 

** PS-我没有testing代码,但你应该能够运行一些小的调整。