- //1.创建一个Excel文档:
- XlsDocument xls = new XlsDocument();
- //2.创建一个WorkSheet:
- Worksheet ws = xls.Workbook.Worksheets.Add("WorkSheet1");
- //3.指定列格式:
- ColumnInfo colInfo = new ColumnInfo(xls, ws);
- colInfo.ColumnIndexStart = 0;
- colInfo.ColumnIndexEnd = 17;
- colInfo.Width = 15 * 256;
- ws.AddColumnInfo(colInfo);
- //列格式必须每次都要重新定义,一个列格式不能重复使用。
- //4.指定单元格样式:
- XF xf = xls.NewXF();
- xf.HorizontalAlignment = HorizontalAlignments.Centered;
- xf.VerticalAlignment = VerticalAlignments.Centered;
- xf.Pattern = 1;
- xf.PatternColor = Colors.Default30;
- xf.UseBorder = true;
- xf.TopLineStyle = 1;
- xf.TopLineColor = Colors.Black;
- xf.BottomLineStyle = 1;
- xf.BottomLineColor = Colors.Black;
- xf.LeftLineStyle = 1;
- xf.LeftLineColor = Colors.Black;
- xf.RightLineStyle = 1;
- xf.RightLineColor = Colors.Black;
- xf.Font.Bold = true;
- xf.Font.Height = 11 * 20;
- xf.Font.ColorIndex = 1;
- //5.给单元格赋值:
- ws.Cells.Add(2, 3, "金额(万元)", xf);
- //6.合并单元格:
- ws.Cells.Merge(1, 2, 2, 2);
- //或者
- ws.AddMergeArea(new MergeArea(1, 2, 1, 1));
- //7.MyXls合并单元格有个bug,就是合并后只是第一个单元格有样式,其余的样式丢失。所以写了个函数来合并:
- MergeRegion(ref ws, xf, "机构", 1, 1, 2, 1);
- public void MergeRegion(ref Worksheet ws, XF xf, string title, int startRow, int startCol, int endRow, int endCol)
- {
- for (int i = startCol; i <= endCol; i++)
- {
- for (int j = startRow; j <= endRow; j++)
- {
- ws.Cells.Add(j, i, title, xf);
- }
- }
- ws.Cells.Merge(startRow, endRow, startCol, endCol);
- }
- //虽然效率不怎么样,但是对于出Excel报表,还OK。
- //8.指定单元格格式:
- cell.Format = StandardFormats.Decimal_1;
- //具体更多请参考源代码的StandardFormats类。
- //9.保存或者发送Excel:
- xls.Send();
- //或者
- xls.Save();
- //该片段来自于http://www.codesnippet.cn/detail/2904201512440.html
来源: http://www.codesnippet.cn/detail/2904201512440.html