MyXls初级教程

这些天使用MyXls导出Excel报表(因为Apose.Cells要收费)。感觉MyXls虽然功能远没有Cells强大,但是胜在开源、免费而且性能稳定可靠。用作出一般情况下的报表。足矣!

记下几个初级使用方法,希望能够给初入门的人一点帮助:

1.创建一个Excel文档:

Code
XlsDocument xls = new XlsDocument();

 

2.创建一个WorkSheet:

Code
Worksheet ws = xls.Workbook.Worksheets.Add("WorkSheet1");

 

3.指定列格式:

Code
ColumnInfo colInfo = new ColumnInfo(xls, ws);
colInfo.ColumnIndexStart 
= 0;
colInfo.ColumnIndexEnd 
= 17;
colInfo.Width 
= 15 * 256;
ws.AddColumnInfo(colInfo);

 

列格式必须每次都要重新定义,一个列格式不能重复使用。

 

4.指定单元格样式:

Code
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.给单元格赋值:

Code
ws.Cells.Add(23"金额(万元)", xf);

 

6.合并单元格:

Code
ws.Cells.Merge(1222);
//或者
ws.AddMergeArea(new MergeArea(1211));

 

7.MyXls合并单元格有个bug,就是合并后只是第一个单元格有样式,其余的样式丢失。所以写了个函数来合并:

Code
MergeRegion(ref ws, xf, "机构"1121);

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.指定单元格格式:

Code
cell.Format = StandardFormats.Decimal_1;

 

具体更多请参考源代码的StandardFormats类。

 

9.保存或者发送Excel:

Code
xls.Send();
//或者
xls.Save();

 

 

posted @ 2009-09-07 18:00  KenBlove  阅读(6389)  评论(12编辑  收藏  举报