近期开发一个级次报表系统,需要把十六个datagaridview中的数据导出到一个指定的特殊结构的excel文件中,在网上找了很多关于类似的解决方案都不能满足此项目的需求,现整理了一下,核心代码和思路如下:
1。导出类:
public void ExportToExcel(string filePath, List<System.Data.DataTable> ds)
{
object oMissing = System.Reflection.Missing.Value;
Excel.ApplicationClass xlApp = new Excel.ApplicationClass();
try
{
// 打开Excel文件。
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(filePath, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
Excel.Worksheet xlWorksheet;
// 循环所有DataTable
for (int i = 0; i < ds.Count; i++)
{
if (ds.ToArray()[i] == null)