我想使用Microsoft.Office.Interop.Excel dll将数据写入excel表。我有一个代码:
if (System.IO.File.Exists(strFileName))
{
System.IO.File.SetAttributes(strFileName, FileAttributes.Normal);
System.IO.File.Delete(strFileName);
}
// Open an instance of excel. Create a new workbook.
// A workbook by default has three sheets, so if you just want
//a single one, delete sheet 2 and 3
Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
Excel._Workbook xlWB = (Excel._Workbook)xlApp.Workbooks.Add(Missing.Value);
Excel._Worksheet xlSheet = (Excel._Worksheet)xlWB.Sheets[1];
((Excel._Worksheet)xlWB.Sheets[2]).Delete();
((Excel._Worksheet)xlWB.Sheets[2]).Delete();
xlSheet.Name = strSheetName;
// Write a value into A1
xlSheet.Cells[2, 1] = "Tags";
xlSheet.Cells[2, 2] = "Leak Test";
xlSheet.Cells[2, 3] = "FIR";
xlSheet.Cells[2, 4] = "SOP";
xlWB.SaveAs(strFileName, Missing.Value, Missing.Value, Missing.Value,
Missing.Value,Missing.Value,
Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value);
xlApp.Quit();
// Release the COM object, set the Excel variables to Null, and tell the
//Garbage Collector to do its thing
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWB);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
xlSheet = null;
xlWB = null;
xlApp = null;
现在我想从路径&中打开现有的excel文件。然后将一些数据放入我们提供的excel表格中。然后它将以编程方式保存到特定路径上。
请回复我的来源,如果有任何可以打开现有的excel文件&这可以追加&另存姓名。
此致 Girish
答案 0 :(得分:3)
不再维护ExcelPackage。它似乎有一些错误。在那里阅读评论,我发现http://epplus.codeplex.com/
它基于ExcelPackage并继承了许可证(GPL),因此可能不符合您的要求。
答案 1 :(得分:1)
如果你使用的是2007版的Excel,我建议使用ExcelPackage - 这是OpenXML标准的一个实现,它比COM互操作更快,更乱,你可以运行它在一台甚至没有安装Excel(Office)的计算机上,例如在您的Web服务器上。
强烈推荐 - 但仅限于Excel 2007及更高版本。
答案 2 :(得分:0)
请参阅此处information。