据我所知,有三种方法可以做到这一点:
第三种方式似乎最简单,但我不知道是否有更好的存档方式?如果不是,这三种方式中最好的是什么?
非常感谢你。
答案 0 :(得分:1)
第四种方法是使用OleDbConnection并使用标准ADO.NET将.NET应用程序连接到Excel。
几年前我不得不做类似的事情,这篇文章非常有帮助。
http://davidhayden.com/blog/dave/archive/2006/05/26/2973.aspx
这种方法有很多古怪的东西(主要是引用表和范围),但它最终只是一个ADO.NET实现,最终看起来非常像一个普通的ADO.NET项目。
希望这有帮助!
答案 1 :(得分:1)
最简单的方法:CSV。对每个DataRow的每个值只需ToString()并将其放到文件中。您还可以删除列名作为文件中的第一行。 CSV文件很容易导入excel。
我的替代方案是使用Codeplex上的众多项目之一导出到xslx。我玩过ExcelPackage和Simple OOXML,两者(IIRC)都运行良好。
您可以通过在Codeplex上搜索Excel或OOXML找到更多信息。
答案 2 :(得分:0)
要小心写入CSV,因为Excel会自动转换数据类型。例如,0001将被转换为数字1。
另一种选择是使用DataTable.WriteXML(filename)并将文件名设置为something.xls
这不是二进制XLS文件,但也应该使用Excel打开。
BTW:如果您需要格式化,HTML表格方法会更好,对于大型表格,这两种方法都会非常慢。