首页 > 代码库 > npoi
npoi
NPOI可以很方便的读取写入EXCEL,且对客户机没有要求
读取excel的实例代码
1 using (FileStream file = new FileStream("可约医院列表(网址).xls", FileMode.Open, FileAccess.Read))//参数为地址和打开方式操作方式 2 { 3 HSSFWorkbook h = new HSSFWorkbook(file); 4 HSSFSheet sheettemp = (HSSFSheet)h.GetSheet("sheet1"); 5 for (int i = 1; i < sheettemp.LastRowNum; i++) 6 { 7 url = sheettemp.GetRow(i).GetCell(2).ToString(); 8 .... 具体操作13 }14 }
可以当做一个datatable来操作 通过行和列来读取数据。
写入excel代码:
HSSFWorkbook h = new HSSFWorkbook(); HSSFSheet sheettemp = (HSSFSheet)h.CreateSheet("sheet1"); //创建一个对象
Row _row = sheettemp.CreateRow(0); _row.CreateCell(0).SetCellValue("医院"); _row.CreateCell(1).SetCellValue("科室"); _row.CreateCell(2).SetCellValue("姓名"); _row.CreateCell(3).SetCellValue("擅长"); _row.CreateCell(4).SetCellValue("简介"); _row.CreateCell(5).SetCellValue("头像图片"); //excel的列头 for (int i = 0; i < dt.Rows.Count; i++) {
//具体赋值 Row row = sheettemp.CreateRow(i + 1); row.CreateCell(0).SetCellValue(dt.Rows[i][0].ToString()); row.CreateCell(1).SetCellValue(dt.Rows[i][1].ToString()); row.CreateCell(2).SetCellValue(dt.Rows[i][2].ToString()); row.CreateCell(3).SetCellValue(dt.Rows[i][3].ToString()); row.CreateCell(4).SetCellValue(dt.Rows[i][4].ToString()); row.CreateCell(5).SetCellValue(dt.Rows[i][5].ToString()); AddPieChart(sheettemp, h, dt.Rows[i][5].ToString(), (i + 1), 5); }
sheettemp.ForceFormulaRecalculation = true;//请加上这句话 using (FileStream filewrite = new FileStream("C:\\挂号网.xls", FileMode.Create))//保存路径 { h.Write(filewrite); filewrite.Close(); }
通过遍历 给excel赋值后 可以直接保存。这里路径可以要求用户选择或配置
npoi导出excel中添加图片
try { string FileName = fileurl; byte[] bytes = System.IO.File.ReadAllBytes(FileName); if (!string.IsNullOrEmpty(FileName)) { int pictureIdx = workbook.AddPicture(bytes, NPOI.SS.UserModel.PictureType.JPEG); HSSFPatriarch patriarch = (HSSFPatriarch)sheet.CreateDrawingPatriarch(); HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 100, 50, col, row, col + 1, row + 1); //##处理照片位置,【图片左上角为(col, row)第row+1行col+1列,右下角为( col +1, row +1)第 col +1+1行row +1+1列,宽为100,高为50 HSSFPicture pict = (HSSFPicture)patriarch.CreatePicture(anchor, pictureIdx); // pict.Resize();这句话一定不要,这是用图片原始大小来显示 } } catch (Exception ex) { throw ex; }
方法为:AddPieChart(HSSFSheet sheet, HSSFWorkbook workbook, string fileurl, int row, int col)
fileurl为你保存后的地址不可以使用网页上的引用地址。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。