excel npoi 连接_Npoi操作excel

//创建一个常用的xls文件

private void button3_Click(objectsender, EventArgs e)

{

IWorkbook wb= newHSSFWorkbook();//创建表

ISheet sh = wb.CreateSheet("zhiyuan");//设置单元的宽度

sh.SetColumnWidth(0, 15 * 256);

sh.SetColumnWidth(1, 35 * 256);

sh.SetColumnWidth(2, 15 * 256);

sh.SetColumnWidth(3, 10 * 256);int i = 0;#region 练习合并单元格

sh.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(0, 0, 0, 3));

//CellRangeAddress()该方法的参数次序是:开始行号,结束行号,开始列号,结束列号。

IRow row0= sh.CreateRow(0);

row0.Height= 20 * 20;

ICell icell1top0= row0.CreateCell(0);

icell1top0.CellStyle=Getcellstyle(wb, stylexls.头);

icell1top0.SetCellValue("标题合并单元");#endregioni++;#region 设置表头IRow row1= sh.CreateRow(1);

row1.Height= 20 * 20;

ICell icell1top= row1.CreateCell(0);

icell1top.CellStyle=Getcellstyle(wb, stylexls.头);

icell1top.SetCellValue("网站名");

ICell icell2top= row1.CreateCell(1);

icell2top.CellStyle=Getcellstyle(wb, stylexls.头);

icell2top.SetCellValue("网址");

ICell icell3top= row1.CreateCell(2);

icell3top.CellStyle=Getcellstyle(wb, stylexls.头);

icell3top.SetCellValue("百度快照");

ICell icell4top= row1.CreateCell(3);

icell4top.CellStyle=Getcellstyle(wb, stylexls.头);

icell4top.SetCellValue("百度收录");#endregion

using(FileStream stm=File.OpenWrite(@"c:/myMergeCell.xls"))

{

wb.Write(stm);

MessageBox.Show("提示:创建成功!");

}

}#region 定义单元格常用到样式的枚举

public enumstylexls

{

头,

url,

时间,

数字,

钱,

百分比,

中文大写,

科学计数法,

默认

}#endregion

#region 定义单元格常用到样式

staticICellStyle Getcellstyle(IWorkbook wb, stylexls str)

{

ICellStyle cellStyle=wb.CreateCellStyle();//定义几种字体//也可以一种字体,写一些公共属性,然后在下面需要时加特殊的

IFont font12 =wb.CreateFont();

font12.FontHeightInPoints= 10;

font12.FontName= "微软雅黑";

IFont font=wb.CreateFont();

font.FontName= "微软雅黑";//font.Underline = 1;下划线

IFont fontcolorblue=wb.CreateFont();

fontcolorblue.Color=HSSFColor.OLIVE_GREEN.BLUE.index;

fontcolorblue.IsItalic= true;//下划线

fontcolorblue.FontName = "微软雅黑";//边框

cellStyle.BorderBottom =NPOI.SS.UserModel.BorderStyle.DOTTED;

cellStyle.BorderLeft=NPOI.SS.UserModel.BorderStyle.HAIR;

cellStyle.BorderRight=NPOI.SS.UserModel.BorderStyle.HAIR;

cellStyle.BorderTop=NPOI.SS.UserModel.BorderStyle.DOTTED;//边框颜色

cellStyle.BottomBorderColor =HSSFColor.OLIVE_GREEN.BLUE.index;

cellStyle.TopBorderColor=HSSFColor.OLIVE_GREEN.BLUE.index;//背景图形,我没有用到过。感觉很丑//cellStyle.FillBackgroundColor = HSSFColor.OLIVE_GREEN.BLUE.index;//cellStyle.FillForegroundColor = HSSFColor.OLIVE_GREEN.BLUE.index;

cellStyle.FillForegroundColor =HSSFColor.WHITE.index;//cellStyle.FillPattern = FillPatternType.NO_FILL;

cellStyle.FillBackgroundColor =HSSFColor.BLUE.index;//水平对齐

cellStyle.Alignment =NPOI.SS.UserModel.HorizontalAlignment.LEFT;//垂直对齐

cellStyle.VerticalAlignment =VerticalAlignment.CENTER;//自动换行

cellStyle.WrapText = true;//缩进;当设置为1时,前面留的空白太大了。希旺官网改进。或者是我设置的不对

cellStyle.Indention = 0;//上面基本都是设共公的设置//下面列出了常用的字段类型

switch(str)

{casestylexls.头://cellStyle.FillPattern = FillPatternType.LEAST_DOTS;

cellStyle.SetFont(font12);break;casestylexls.时间:

IDataFormat datastyle=wb.CreateDataFormat();

cellStyle.DataFormat= datastyle.GetFormat("yyyy/mm/dd");

cellStyle.SetFont(font);break;casestylexls.数字:

cellStyle.DataFormat= HSSFDataFormat.GetBuiltinFormat("0.00");

cellStyle.SetFont(font);break;casestylexls.钱:

IDataFormat format=wb.CreateDataFormat();

cellStyle.DataFormat= format.GetFormat("¥#,##0");

cellStyle.SetFont(font);break;casestylexls.url:

fontcolorblue.Underline= 1;

cellStyle.SetFont(fontcolorblue);break;casestylexls.百分比:

cellStyle.DataFormat= HSSFDataFormat.GetBuiltinFormat("0.00%");

cellStyle.SetFont(font);break;casestylexls.中文大写:

IDataFormat format1=wb.CreateDataFormat();

cellStyle.DataFormat= format1.GetFormat("[DbNum2][$-804]0");

cellStyle.SetFont(font);break;casestylexls.科学计数法:

cellStyle.DataFormat= HSSFDataFormat.GetBuiltinFormat("0.00E+00");

cellStyle.SetFont(font);break;casestylexls.默认:

cellStyle.SetFont(font);break;

}returncellStyle;

}#endregion


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部