我想向我的应用程序添加将数据保存到 XLS(旧的 excel 文件)的功能。
我在这里看到了一个关于如何在 ASP.NET 中执行此操作的示例,但我不知道这如何转换为桌面应用程序的 c# 代码。
我还查看了 excel 自动化,它看起来像这样:
private void button1_Click(object sender, EventArgs e)
{
Excel.Application xlApp ;
Excel.Workbook xlWorkBook ;
Excel.Worksheet xlWorkSheet ;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
xlWorkSheet.Cells[1, 1] = "http://csharp.net-informations.com";
xlWorkBook.SaveAs("csharp-Excel.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
MessageBox.Show("Excel file created , you can find the file c:\\csharp-Excel.xls");
}
private void releaseObject(object obj)
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
obj = null;
}
catch (Exception ex)
{
obj = null;
MessageBox.Show("Exception Occured while releasing object " + ex.ToString());
}
finally
{
GC.Collect();
}
}
我不想使用它,因为:
如果我导出大量数据会很慢
如果可能的话,我希望它可以在没有安装 Microsoft Excel 的 PC 上运行
我也试过CarlosAg.Excel.Xml,它似乎工作,除了当我打开文件时,我收到来自 excel 的警告,该文件不是 XLS 格式,而是其他格式。
谁能向我推荐一个免费的 c# 库来执行此操作,或者向我展示如何使用传统的 .Net 库将数据保存到 XLS?