C#导出数据到Excel,基本有两种方法,一种方法是通过Microsoft.Office.Interop.Excel.Application,一行一列的写入Excel中;另一种方法是通过OLEDB,利用DataSet批量更新的放大写入Excel中。
这两种方法各有用处。通过Microsoft.Office.Interop.Excel.Application传数据到Excel中,可以比较好的控制表格的格式,以便于直接 查看和打印,但效率低;通过OLEDB传数据到Excel中,格式不方便控制,但效率高。
我最近在导出大数据时(750w用户数据,分城市导出,每个Excel文件只有一个sheet,其中最多1000条),通过Microsoft.Office.Interop.Excel.Application传数据到Excel中一直没有成功,这种方法通过COM传数据的方法存在内存释放以及FrameWork框架方面的问题;后来我通过OLEDB成功导出。
1、准备工作:在磁盘中建立一个模版Excel文件,这个Excel文件的sheet1的第一行填写好表头。
2、核心代码:
2.1、 取出城市数据到 DataTable cityDt="所有城市并按id排序";
2.2、文件存放的文件夹 fileOutFolder
2.3、我把数据分在五台计算机上导出,于是有一个城市分类的方法
private void city(int cityMode)
{