MyXls初級(jí)教程
這些天使用MyXls導(dǎo)出Excel報(bào)表(因?yàn)锳pose.Cells要收費(fèi))。感覺MyXls雖然功能遠(yuǎn)沒有Cells強(qiáng)大,但是勝在開源、免費(fèi)而且性能穩(wěn)定可靠。用作出一般情況下的報(bào)表。足矣!
記下幾個(gè)初級(jí)使用方法,希望能夠給初入門的人一點(diǎn)幫助:
1.創(chuàng)建一個(gè)Excel文檔:
XlsDocument xls = new XlsDocument();
2.創(chuàng)建一個(gè)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);
列格式必須每次都要重新定義,一個(gè)列格式不能重復(fù)使用。
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合并單元格有個(gè)bug,就是合并后只是第一個(gè)單元格有樣式,其余的樣式丟失。所以寫了個(gè)函數(shù)來合并:
MergeRegion(ref ws, xf, "機(jī)構(gòu)", 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);
}
雖然效率不怎么樣,但是對(duì)于出Excel報(bào)表,還OK。
8.指定單元格格式:
cell.Format = StandardFormats.Decimal_1;
具體更多請(qǐng)參考源代碼的StandardFormats類。
9.保存或者發(fā)送Excel:
xls.Send();
//或者
xls.Save();
浙公網(wǎng)安備 33010602011771號(hào)