在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
注:要添加COM组件 Microsoft Excel 11.0 Object Library 引用。 具体代码如下: using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; using Excel; using System.Reflection; using System.Data; using System.Data.OleDb; namespace RecruitmentReport { classdoExcel { enumColumnName {A1=1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1} /// <summary> /// 导出到Execl /// </summary> /// <param name="dt">数据集</param> /// <param name="strSheetName">工作部名称</param> /// <param name="pathloading">保存路径</param> /// <param name="title">标题名</param> publicvoid doExport(DataSet dt, string strSheetName, string pathloading, string title) {
int columnIndex = dt.Tables[0].Columns.Count; string cName =((ColumnName)columnIndex).ToString(); Excel.Application excel = new Excel.Application(); //Execl的操作类 Excel.Workbook bookDest =(Excel.Workbook)excel.Workbooks.Add(Missing.Value); Excel.Worksheet sheetDest = bookDest.Worksheets.Add(Missing.Value, Missing.Value, Missing.Value, Missing.Value) as Excel.Worksheet;//给工作薄添加一个Sheet sheetDest.Name = strSheetName; for (int i = bookDest.Worksheets.Count; i >1; i--) { Worksheet wt = (Worksheet)bookDest.Worksheets[i]; if (wt.Name != strSheetName) { wt.Delete(); } } int rowIndex = 2; int colIndex = 0; Range rngRow = (Excel.Range)sheetDest.Columns[1, Type.Missing]; rngRow.UseStandardWidth = 70; Range rngA = (Range)sheetDest.Columns["A", Type.Missing];//设置单元格格式 rngA.NumberFormatLocal = "@";//字符型格式 Range rngJ = (Range)sheetDest.Columns["J", Type.Missing]; rngJ.NumberFormatLocal = "@"; Range rngQ = (Range)sheetDest.Columns["Q", Type.Missing]; rngQ.NumberFormatLocal = "@"; Range rngE = (Range)sheetDest.Columns["E", Type.Missing]; rngE.NumberFormatLocal = @"yyyy-mm-dd";//日期型格式 sheetDest.get_Range("A1", cName).Merge(sheetDest.get_Range("A1", cName).MergeCells);//合并单元格 excel.Application.Workbooks.Add(true); try { Range rngfirst = (Excel.Range)sheetDest.Cells[1, 1]; sheetDest.Cells[1, 1] = title + System.DateTime.Now.Month.ToString().PadLeft(2, '0') + System.DateTime.Now.Day.ToString().PadLeft(2, '0') + System.DateTime.Now.Year.ToString(); rngfirst.Font.Size = 14; rngfirst.Font.Name = "Calibri";//设置单元格字体 rngfirst.RowHeight = 18; rngfirst.HorizontalAlignment = XlHAlign.xlHAlignCenter; rngfirst.Font.Bold = true; rngfirst.Borders.LineStyle = XlLineStyle.xlContinuous;//设置单元格边框 foreach (DataColumn col in dt.Tables[0].Columns) {
colIndex++; Range rng = (Excel.Range)sheetDest.Cells[2, colIndex];
sheetDest.Cells[2, colIndex] = col.ColumnName;//Execl中的第一列把DataTable的列名先导进去 rng.Font.Name = "Calibri"; rng.Font.Size = 11; rng.Font.Bold = true; rng.Font.Color = ConsoleColor.Blue; rng.HorizontalAlignment = XlHAlign.xlHAlignCenter; rng.RowHeight = 15; rng.Borders.LineStyle = XlLineStyle.xlContinuous; rng.ColumnWidth = 15.5; // sheetDest.Range[1, colIndex].Font.Bold = false;
} //导入数据行
foreach (DataRow row in dt.Tables[0].Rows) { rowIndex++; colIndex = 0;
foreach (DataColumn col in dt.Tables[0].Columns) { colIndex++; sheetDest.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString(); Range rng01 = (Excel.Range)sheetDest.Cells[rowIndex, colIndex]; rng01.HorizontalAlignment = XlHAlign.xlHAlignCenter; rng01.Borders.LineStyle = XlLineStyle.xlContinuous; rng01.RowHeight = 15; rng01.Font.Name = "Calibri"; rng01.Font.Size = 11;
} } } catch { thrownewException(); } bookDest.Saved = true; bookDest.SaveCopyAs(pathloading);//保存 excel.Quit(); excel = null; GC.Collect();//垃圾回收 } } }
http://hi.baidu.com/jimpanf/item/6773171847b46e14e2f98637 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论