通過(guò)實(shí)例的方式詳細(xì)說(shuō)明如何通過(guò)各種屬性設(shè)置MyXls的樣式:
// 準(zhǔn)備測(cè)試數(shù)據(jù)
List<PersonInfo> list = new List<PersonInfo>();
for (int i = 1; i <= 200; i++)
{
PersonInfo person = new PersonInfo()
{
RealName = "張" + i,
Gender = (i % 2 == 0 ? "男" : "女"),
Age = 20 + (i % 3)
};
list.Add(person);
}
int recordCount = 200; // 要導(dǎo)出的記錄總數(shù)
int maxRecordCount = 100; // 每個(gè)sheet表的最大記錄數(shù)
int sheetCount = 1; // Sheet表的數(shù)目
XlsDocument xls = new XlsDocument();
xls.FileName = "MyXls-" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
// 計(jì)算需要多少個(gè)sheet表顯示數(shù)據(jù)
if (recordCount > maxRecordCount)
{
sheetCount = (int)Math.Ceiling((decimal)recordCount / (decimal)maxRecordCount);
}
// Sheet標(biāo)題樣式
XF titleXF = xls.NewXF(); // 為xls生成一個(gè)XF實(shí)例,XF是單元格格式對(duì)象
titleXF.HorizontalAlignment = HorizontalAlignments.Centered; // 設(shè)定文字居中
titleXF.VerticalAlignment = VerticalAlignments.Centered; // 垂直居中
titleXF.UseBorder = true; // 使用邊框
titleXF.TopLineStyle = 1; // 上邊框樣式
titleXF.TopLineColor = Colors.Black; // 上邊框顏色
titleXF.LeftLineStyle = 1; // 左邊框樣式
titleXF.LeftLineColor = Colors.Black; // 左邊框顏色
titleXF.RightLineStyle = 1; // 右邊框樣式
titleXF.RightLineColor = Colors.Black; // 右邊框顏色
titleXF.Font.FontName = "宋體"; // 字體
titleXF.Font.Bold = true; // 是否加楚
titleXF.Font.Height = 12 * 20; // 字大小(字體大小是以 1/20 point 為單位的)
// 列標(biāo)題樣式
XF columnTitleXF = xls.NewXF(); // 為xls生成一個(gè)XF實(shí)例,XF是單元格格式對(duì)象
columnTitleXF.HorizontalAlignment = HorizontalAlignments.Centered; // 設(shè)定文字居中
columnTitleXF.VerticalAlignment = VerticalAlignments.Centered; // 垂直居中
columnTitleXF.UseBorder = true; // 使用邊框
columnTitleXF.TopLineStyle = 1; // 上邊框樣式
columnTitleXF.TopLineColor = Colors.Black; // 上邊框顏色
columnTitleXF.BottomLineStyle = 1; // 下邊框樣式
columnTitleXF.BottomLineColor = Colors.Black; // 下邊框顏色
columnTitleXF.LeftLineStyle = 1; // 左邊框樣式
columnTitleXF.LeftLineColor = Colors.Black; // 左邊框顏色
columnTitleXF.Pattern = 1; // 單元格填充風(fēng)格。如果設(shè)定為0,則是純色填充(無(wú)色),1代表沒(méi)有間隙的實(shí)色
columnTitleXF.PatternBackgroundColor = Colors.Red; // 填充的底色
columnTitleXF.PatternColor = Colors.Default2F; // 填充背景色
// 數(shù)據(jù)單元格樣式
XF dataXF = xls.NewXF(); // 為xls生成一個(gè)XF實(shí)例,XF是單元格格式對(duì)象
dataXF.HorizontalAlignment = HorizontalAlignments.Centered; // 設(shè)定文字居中
dataXF.VerticalAlignment = VerticalAlignments.Centered; // 垂直居中
dataXF.UseBorder = true; // 使用邊框
dataXF.LeftLineStyle = 1; // 左邊框樣式
dataXF.LeftLineColor = Colors.Black; // 左邊框顏色
dataXF.BottomLineStyle = 1; // 下邊框樣式
dataXF.BottomLineColor = Colors.Black; // 下邊框顏色
dataXF.Font.FontName = "宋體";
dataXF.Font.Height = 9 * 20; // 設(shè)定字大小(字體大小是以 1/20 point 為單位的)
dataXF.UseProtection = false; // 默認(rèn)的就是受保護(hù)的,導(dǎo)出后需要啟用編輯才可修改
dataXF.TextWrapRight = true; // 自動(dòng)換行
// 遍歷創(chuàng)建Sheet
for (int i = 1; i <= sheetCount; i++)
{
// 根據(jù)計(jì)算出來(lái)的Sheet數(shù)量,一個(gè)個(gè)創(chuàng)建
// 行和列的設(shè)置需要添加到指定的Sheet中,且每個(gè)設(shè)置對(duì)象不能重用(因?yàn)榭梢栽O(shè)置起始和終止行或列,就沒(méi)有太大必要重用了,這應(yīng)是一個(gè)策略問(wèn)題)
Worksheet sheet;
if (sheetCount == 1)
{
sheet = xls.Workbook.Worksheets.Add("人員信息表");
}
else
{
sheet = xls.Workbook.Worksheets.Add("人員信息表 - " + i);
}
// 序號(hào)列設(shè)置
ColumnInfo col0 = new ColumnInfo(xls, sheet); // 列對(duì)象
col0.ColumnIndexStart = 0; // 起始列為第1列,索引從0開(kāi)始
col0.ColumnIndexEnd = 0; // 終止列為第1列,索引從0開(kāi)始
col0.Width = 8 * 256; // 列的寬度計(jì)量單位為 1/256 字符寬
sheet.AddColumnInfo(col0); // 把格式附加到sheet頁(yè)上
// 姓名列設(shè)置
ColumnInfo col1 = new ColumnInfo(xls, sheet); // 列對(duì)象
col1.ColumnIndexStart = 1; // 起始列為第2列,索引從0開(kāi)始
col1.ColumnIndexEnd = 1; // 終止列為第2列,索引從0開(kāi)始
col1.Width = 16 * 256; // 列的寬度計(jì)量單位為 1/256 字符寬
sheet.AddColumnInfo(col1); // 把格式附加到sheet頁(yè)上
// 性別列設(shè)置
ColumnInfo col2 = new ColumnInfo(xls, sheet); // 列對(duì)象
col2.ColumnIndexStart = 2; // 起始列為第3列,索引從0開(kāi)始
col2.ColumnIndexEnd = 2; // 終止列為第3列,索引從0開(kāi)始
col2.Width = 16 * 256; // 列的寬度計(jì)量單位為 1/256 字符寬
sheet.AddColumnInfo(col2); // 把格式附加到sheet頁(yè)上
// 年齡列設(shè)置
ColumnInfo col3 = new ColumnInfo(xls, sheet); // 列對(duì)象
col3.ColumnIndexStart = 3; // 起始列為第4列,索引從0開(kāi)始
col3.ColumnIndexEnd = 3; // 終止列為第4列,索引從0開(kāi)始
col3.Width = 16 * 256; // 列的寬度計(jì)量單位為 1/256 字符寬
sheet.AddColumnInfo(col3); // 把格式附加到sheet頁(yè)上
// 行設(shè)置
RowInfo rol1 = new RowInfo(); // 行對(duì)象
rol1.RowHeight = 16 * 20; // 行高
rol1.RowIndexStart = 3; // 行設(shè)置起始列,索引從1開(kāi)始
rol1.RowIndexEnd = (ushort)(maxRecordCount + 2); //行設(shè)置結(jié)束列
sheet.AddRowInfo(rol1); // 把設(shè)置附加到sheet頁(yè)上
// 合并單元格
//sheet.Cells.Merge(1, 1, 1, 4);
MergeArea titleArea = new MergeArea(1, 1, 1, 4); // 一個(gè)合并單元格實(shí)例(合并第1行、第1列 到 第1行、第4列)
sheet.AddMergeArea(titleArea); //填加合并單元格
// 開(kāi)始填充數(shù)據(jù)到單元格
Cells cells = sheet.Cells;
// Sheet標(biāo)題行,行和列的索引都是從1開(kāi)始的
Cell cell = cells.Add(1, 1, "人員信息統(tǒng)計(jì)表", titleXF);
cells.Add(1, 2, "", titleXF); // 合并單元格后仍需要設(shè)置每一個(gè)單元格,樣式才有效
cells.Add(1, 3, "", titleXF); // 合并單元格后仍需要設(shè)置每一個(gè)單元格,樣式才有效
cells.Add(1, 4, "", titleXF); // 合并單元格后仍需要設(shè)置每一個(gè)單元格,樣式才有效
sheet.Rows[1].RowHeight = 40 * 20; // 對(duì)指定的行設(shè)置行高
// 列標(biāo)題行
cells.Add(2, 1, "序號(hào)", columnTitleXF);
cells.Add(2, 2, "姓名", columnTitleXF);
cells.Add(2, 3, "性別", columnTitleXF);
// 最右側(cè)的列需要右邊框,通過(guò)修改樣式columnTitleXF的方式,還可以通過(guò)設(shè)置單元格屬性的方式實(shí)現(xiàn)。
columnTitleXF.RightLineStyle = 1;
columnTitleXF.RightLineColor = Colors.Black;
cells.Add(2, 4, "年齡", columnTitleXF);
sheet.Rows[2].RowHeight = 18 * 20; // 對(duì)指定的行設(shè)置行高
// 行索引
int rowIndex = 3;
for (int j = 0; j < maxRecordCount; j++)
{
// 當(dāng)前記錄在數(shù)據(jù)集合中的索引
int k = (i - 1) * maxRecordCount + j;
// 如果達(dá)到sheet最大記錄數(shù)則跳出
if (k >= recordCount)
{
break;
}
// 設(shè)置單元格的值
cells.Add(rowIndex, 1, k + 1, dataXF);
cells.Add(rowIndex, 2, list[k].RealName, dataXF);
cells.Add(rowIndex, 3, list[k].Gender, dataXF);
// 最右側(cè)的列需要右邊框,通過(guò)給Cell設(shè)置屬性的方式實(shí)現(xiàn),因?yàn)椴⒉皇撬械膯卧穸夹枰O(shè)置,不能通過(guò)修改樣式dataXF的方式
Cell lastCell = cells.Add(rowIndex, 4, list[k].Age, dataXF);
lastCell.RightLineStyle = 1;
lastCell.RightLineColor = Colors.Black;
// 行號(hào)遞增
rowIndex++;
}
}
// 在瀏覽器中輸出Excel文件
xls.Send();
myxls使用示例
1、添加引用到你的網(wǎng)站或項(xiàng)目中:
2、一個(gè)導(dǎo)出excel的測(cè)試程序:
/// <summary>
/// 導(dǎo)出Excel
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ExportBtn_Click(object sender, EventArgs e) {
XlsDocument xls = new XlsDocument();
xls.FileName = "TestList.xls";
int rowIndex = 1;
Worksheet sheet = xls.Workbook.Worksheets.Add("測(cè)試表");//Sheet名稱(chēng)
Cells cells = sheet.Cells;
Cell cell = cells.Add(1, 1, "編號(hào)");
cell.Font.Bold = true;
cell = cells.Add(1, 2, "名稱(chēng)");
cell.Font.Bold = true;
foreach (DataRow row in table.Rows) {
cells.Add(rowIndex, 1, rowIndex);
cells.Add(rowIndex, 2, "名稱(chēng)"+rowIndex);
rowIndex++;
}
xls.Send();
}
MyXls是一個(gè)操作Excel的開(kāi)源類(lèi)庫(kù),支持設(shè)置字體、列寬、行高(由BOSSMA實(shí)現(xiàn))、合并單元格、邊框、背景顏色、數(shù)據(jù)類(lèi)型、自動(dòng)換行、對(duì)齊方式等,通過(guò)眾多項(xiàng)目的使用表現(xiàn),證明MyXls對(duì)于創(chuàng)建簡(jiǎn)單格式的Excel文件十分快捷方便。
MyXLS是一個(gè)導(dǎo)出Excel的好工具,速度快,體積小,而且也不用擔(dān)心使用Com生成Excel時(shí)資源釋放的問(wèn)題了。
應(yīng)該表示懸窗中得一種,在設(shè)計(jì)說(shuō)明里面應(yīng)該可以找得到對(duì)應(yīng)名稱(chēng)
陽(yáng)臺(tái)的懸挑板
是燈管數(shù)量不同呀,6*55是代表有6根55瓦的燈管在里面,而8*55的就是8根. 功率不同,一個(gè)是6*55W,一個(gè)是8*55W 若你指的是同一款燈,大小不一樣。功率大的燈飾,尺...
格式:pdf
大?。?span id="nusbvpy" class="single-tag-height">2.2MB
頁(yè)數(shù): 10頁(yè)
評(píng)分: 4.4
對(duì)于學(xué)黑和愛(ài)折騰的, 現(xiàn)在主流的虛擬機(jī)有 VMware Workstation 、Virtual box、VirtualPC等, 這三種虛擬機(jī)本人都安裝實(shí)踐過(guò),最終選擇了 Virtual box 開(kāi)始,原因呢, VMware 雖然功能 強(qiáng)大,但是體積太大,配置上網(wǎng)常常出現(xiàn)各種問(wèn)題,據(jù)說(shuō)用以太網(wǎng)連接最適合,但我的電腦 不是很穩(wěn)定,還有橋接等方法,不過(guò)安裝增強(qiáng)包以后操作還是很方便的, Virtual PC本人用 的不多不發(fā)表意見(jiàn),至于 Virtual box,體積比較小不到 100m,上網(wǎng)默認(rèn)配置即可,操作也方 便。下面開(kāi)始圖解安裝啦。 。。。 我下載的是目前最新的 virtual box 4.2 ,現(xiàn)在開(kāi)始安裝,雙擊下載的軟件,點(diǎn)擊 next 默認(rèn)安裝,建議不要安裝在 C盤(pán),我們可以點(diǎn)擊 browse 選擇盤(pán)符,點(diǎn)擊 next 1、在桌面上創(chuàng)建快捷方式 2、在快速啟動(dòng)欄創(chuàng)建快捷方式,根據(jù)
格式:pdf
大小:2.2MB
頁(yè)數(shù): 2頁(yè)
評(píng)分: 4.7
單位 CV1 kV 1min 工頻耐壓 Ud( 有效值 ) 斷口、相間、對(duì)地 kV 雷電沖擊耐受電壓 Up(峰值) 斷口、相間、對(duì)地 kV Hz A 630, 1250, 1600, 2000, 2500, 3150, 4000 kA 25, 31.5, 40, 50 kA 63, 80, 100, 125 kA 63, 80, 100, 125 kA 25, 31.5, 40, 50 s A kA A V V 1250-31.5 及以下: 20000 1250-31.5 以上: 10000 項(xiàng)目 數(shù)據(jù) 型號(hào) 額定電壓 Ur 12 額定絕緣水平 42 75 額定頻率 fr 50 額定電流 Ir 額定短路開(kāi)斷電流 Isc(有效值) 額定峰值耐受電流 Ip 額定短路關(guān)合電流 額定短時(shí)耐受電流 Ik (有效值) 額定短路持續(xù)時(shí)間 tk 4 額定背對(duì)背電容器組開(kāi)斷電流 Ibb ( 有效值 ) 40