http://blog.csdn.net/cjh200102/article/details/12557599

NPOI

工作本HSSFWorkbook

  构造方法,无参表示创建一个新的工作本,可以接收一个流用于打开一个现有的工作本

  方法CreateSheet(索引):创建指定索引的sheet对象

  方法GetSheetAt(索引):根据索引获取sheet对象

  方法CreateCellStyle():创建单元格样式对象

  方法CreateFont():创建字体对象

  方法Write(stream):将工作本输出到流中

工作表HSSFSheet

  方法CreateRow(索引):创建指定索引的行

  方法GetRow(索引):根据索引获取行

  方法AddMergedRegion():设置合并区域,参数包括开始行索引、开始列索引、结束行索引、结束列索引

  方法SetColumnWidth(索引,宽度):设置指定列的宽度,单位是一个字符宽度的256分之1(一个汉字占用两个字符)

  属性FirstRowNum、LastRowNum:获取第一行、最后一行的索引值

行HSSFRow

  方法CreateCell(索引):创建指定索引的行

  方法GetCell(索引):根据索引获取单元格

  属性HeightInPoints:指定或设置高度

单元格HSSFCell

  方法SetCellValue():设置单元格中的值

  属性***CellValue:获取单元格中指定类型的值,如果类型不匹配则抛异常

  属性CellStyle:获取或设置单元格样式

单元格样式HSSFCellStyle

  方法SetFont(字体对象):设置字体样式

  属性Alignment:水平对齐,1左,2中,3右

字体对象HSSFFont

  属性FontHeightInPoints:获取或设置字体大小

  属性Boldweight:获取或设置字体加粗

导出

//创建一个工作本
HSSFWorkbook wb = new HSSFWorkbook();
//创建sheet
ISheet sheet = wb.CreateSheet("测试");
//设置头合并单元格
sheet.AddMergedRegion(new CellRangeAddress(,,,));
//创建row
IRow row0 = sheet.CreateRow();
//创建cell
ICell cell = row0.CreateCell();
//为cell设置值
cell.SetCellValue ("demo");
//创建cellStyle
ICellStyle cellStyle = wb.CreateCellStyle();
//字体居中
cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
//为cell添加样式
cell.CellStyle = cellStyle;
//创建标题行
IRow row1 = sheet.CreateRow();
//创建cell
ICell cell0 = row0.CreateCell();
cell0.SetCellValue("编号");
cell0.CellStyle = cellStyle;
ICell cell1 = row0.CreateCell();
cell1.SetCellValue("类型");
cell1.CellStyle = cellStyle;
//设置创建行的索引,因为已经创建过两行,所以从索引2开始创建
int index = ;
//遍历datatable创建row、cell
foreach (DataRow item in dt.Rows)
{
IRow row = sheet.CreateRow(index++);
ICell cellFirst = row.CreateCell();
cellFirst.SetCellValue(item["BookTypeId"].ToString());
ICell cellSecond = row.CreateCell();
cellSecond.SetCellValue(item["BookTypeName"].ToString());
}
//创建或打开文件
using (FileStream fs = new FileStream(@"D:\Users\Desktop\demo.xls",FileMode.OpenOrCreate))
{
//往文件里写数据
wb.Write(fs);
         fs.Close();
}

导入

 List<BookType> list = new List<BookType>();
using (FileStream fs=new FileStream(@"D:\Users\Desktop\demo.xls",FileMode.OpenOrCreate))
{
HSSFWorkbook wb = new HSSFWorkbook(fs);
ISheet sheet = wb.GetSheetAt();
int index = ;
IRow row = sheet.GetRow();
while (row!=null)
{
list.Add(new BookType()
{
BookTypeId = Convert.ToInt32(row.GetCell().StringCellValue),
BookTypeName = row.GetCell().StringCellValue
});
row = sheet.GetRow(index++);
}

最新文章

  1. 【mysql】mysql 常用建表语句
  2. JS总结 本地对象2 BOM DOM
  3. MyBatis学习(三)、动态SQL语句
  4. Setting up Django and your web server with uWSGI and nginx
  5. Android常见控件— — —ProgressBar
  6. class属性中为什会添加非样式的属性值?
  7. 系统调用表 linux 2.6.32
  8. js 操作 cookie
  9. luogu4093 序列 (cdq分治优化dp)
  10. TensorFlow学习入门
  11. .net core build docker image
  12. Vue 使用中的小技巧
  13. xctool + oclint 安装使用
  14. Android跑指定包Monkey脚本
  15. eclipse安装python
  16. js做小数运算精度问题
  17. Linux下C++开发常用命令
  18. Android Studio中 图片资源存在但是运行时报错的问题
  19. Exchange 2016证书配置
  20. Java学习 &#183; 初识 IO流

热门文章

  1. UIImage 类说明
  2. SQLSERVER操作字段约束,修改字段名称等
  3. ML.NET 示例:回归之销售预测
  4. Pointcut 笔记
  5. OO博客作业1:第1-3周作业总结
  6. 移动web、webApp、混合APP、原生APP、androd H5混合开发 当无网络下,android怎么加载H5界面
  7. Python学习第十八篇——低耦合函数设计思想
  8. jQuery中.html(“xxx”)和.append(&quot;xxx&quot;)有什么区别
  9. pdf转eps后存在大片空白的处理
  10. eclipse中不能保存汉字的解决方法