Esempio n. 1
0
 public static bool DataTableToExcel2(DataTable datatable, string filepath, out string error)
 {
     error = "";
     Workbook workbook = new Workbook();
     try
     {
         if (datatable == null)
         {
             error = "DataTableToExcel:datatable 为空";
             return false;
         }
         Style style = workbook.get_Styles().get_Item(workbook.get_Styles().Add());
         style.set_HorizontalAlignment(1);
         style.set_ForegroundColor(Color.FromArgb(0x99, 0xcc, 0));
         style.set_Pattern(1);
         style.get_Font().set_IsBold(true);
         int num = 0;
         int num2 = 0;
         while (num2 < datatable.Columns.Count)
         {
             DataColumn column = datatable.Columns[num2];
             string str = column.Caption ?? column.ColumnName;
             workbook.get_Worksheets().get_Item(0).get_Cells().get_Item(num, num2).PutValue(str);
             workbook.get_Worksheets().get_Item(0).get_Cells().get_Item(num, num2).set_Style(style);
             num2++;
         }
         num++;
         foreach (DataRow row in datatable.Rows)
         {
             for (num2 = 0; num2 < datatable.Columns.Count; num2++)
             {
                 workbook.get_Worksheets().get_Item(0).get_Cells().get_Item(num, num2).PutValue(row[num2].ToString());
             }
             num++;
         }
         for (int i = 0; i < datatable.Columns.Count; i++)
         {
             workbook.get_Worksheets().get_Item(0).AutoFitColumn(i, 0, 150);
         }
         workbook.get_Worksheets().get_Item(0).FreezePanes(1, 0, 1, datatable.Columns.Count);
         workbook.Save(filepath);
         return true;
     }
     catch (Exception exception)
     {
         error = error + " DataTableToExcel: " + exception.Message;
         return false;
     }
 }