本文仅当是个记录文件,仅供初学者参考。

首先得using几个npoi的空间名如下:

using NPOI.HSSF.UserModel;
using NPOI.HSSF.Util;
using NPOI.HPSF;
using NPOI.POIFS.FileSystem;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
using System.IO;

添加函数的方法如下:

/// <summary>
/// excel添加图片的方法
/// </summary>
/// <param name="p_sheet">创建的sheet</param>
/// <param name="p_workbook">workbook</param>
/// <param name="p_szFileUrl">图片的url</param>
/// <param name="p_irow">行</param>
/// <param name="p_icol">列</param>
public static void AddPic(ISheet p_sheet,HSSFWorkbook p_workbook,string p_szFileUrl,int p_irow,int p_icol) {
try {
string szFileNm = p_szFileUrl;
if (!string.IsNullOrEmpty(szFileNm) && File.Exists(szFileNm)) {
byte[] bytes = System.IO.File.ReadAllBytes(szFileNm);
int iPictureIdx = ;
iPictureIdx = p_workbook.AddPicture(bytes,PictureType.JPEG);
HSSFPatriarch patriarch = (HSSFPatriarch)p_sheet.CreateDrawingPatriarch();
HSSFClientAnchor anchor = new NPOI.HSSF.UserModel.HSSFClientAnchor(, , , , p_irow, p_icol, p_irow + , p_icol+);
HSSFPicture pict = (HSSFPicture)patriarch.CreatePicture(anchor, iPictureIdx);
}
}
catch (Exception ex) { }
}

这里我添加了一个button按钮,点击后将数据写入excel中

protected void Button1_Click(object sender, EventArgs e)
{ //创建工作薄
HSSFWorkbook wk = new HSSFWorkbook();
//创建一个名称为mySheet的表,当然你也可以get一个已存在的sheet
ISheet tb = wk.CreateSheet("mySheet"); //创建一行,此行为第二行
IRow row = tb.CreateRow();
IRow row1 = tb.CreateRow();
IRow row2 = tb.CreateRow();
ICell cell1 = row1.CreateCell();
ICell cell2 = row1.CreateCell();
ICell cell3 = row2.CreateCell();
ICell cell4 = row2.CreateCell();
string szPicUrl = @"C:\Users\qq00067767\Desktop\xxx.png"; //图片地址
AddPic(tb, wk, szPicUrl, , ); for (int i = ; i < ; i++)
{
ICell cell = row.CreateCell(i); //在第二行中创建单元格
cell.SetCellValue(i);//循环往第二行的单元格中添加数据
}
//using (FileStream fs = File.OpenWrite(@"C:\Users\qq00067767\Desktop\xqqtest.xls"))//打开一个xls文件,如果没有则自行创建,如果存在myxls.xls文件则在创建是不要打开该文件!
//{
// wk.Write(fs); //向打开的这个xls文件中写入mySheet表并保存。 //}
FileStream oFile = new FileStream(@"C:\Users\qq00067767\Desktop\xqqtest.xls", FileMode.Open, FileAccess.ReadWrite); wk.Write(oFile); oFile.Close(); }

经过测试,没有问题!!!

NPOI简单操作excel的更多相关文章

  1. C# 使用自带Microsoft.Office.Interop.Excel简单操作Excel文件

    项目添加应用 Microsoft.Office.Interop.Excel.dll 文件 引用命名空间: using Excel = Microsoft.Office.Interop.Excel; 简 ...

  2. python简单操作excel

    python操作excel 写入excel # 写入excel import xlwt # 创建xls对象 wb = xlwt.Workbook() # 新增两个表单页(sheet1) sh1 = w ...

  3. C# 之 用NPOI类库操作Excel

    1.需引用以下命名空间: using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.HPSF; using NPOI.HSSF.Ut ...

  4. asp.net(C#)之NPOI&quot;操作Excel

    1.首先到网上下载"NPOI.DLL".引用. 2.新建一个操作类"ExcelHelper.cs": using System.Collections.Gene ...

  5. Npoi简单读写Excel

    什么是NPOI ? 简而言之,NPOI就是可以在没有Office的情况下对Word或Excel文档进行读写等操作. 使用方式 : 1.准备NPOI的dll文件 下载链接:https://npoi.co ...

  6. C#开发之基于NPOI的操作Excel开发体验

    最近遇到一个数据导入的需求,语言是.net framework 4.7的C#.但是,这次主要探讨NPOI的体验,原则就是向前兼容.所以采用.xls的支持.网上的资料,我稍微整合了一些. #1 单元格下 ...

  7. NPOI读取操作excel

    .读取using (FileStream stream = new FileStream(@"c:\客户资料.xls", FileMode.Open, FileAccess.Rea ...

  8. .NET Core使用EPPlus简单操作Excel(简单实现导入导出)

    1.前言 EPPlus是一个使用Open Office XML(xlsx)文件格式,能读写Excel 2007/2010 文件的开源组件,在导出Excel的时候不需要电脑上安装office,它的一个缺 ...

  9. 免费高效实用的.NET操作Excel组件NPOI(.NET组件介绍之六)

    很多的软件项目几乎都包含着对文档的操作,前面已经介绍过两款操作文档的组件,现在介绍一款文档操作的组件NPOI. NPOI可以生成没有安装在您的服务器上的Microsoft Office套件的Excel ...

随机推荐

  1. redis 的使用 (基础, key操作, string类型操作)

    使用redis set 类型: 没有重复元素 list 链表类型 有重复累型 sort set 类型 没有重复元素 1.1 存储数据 读取数据 // 数据储存在 内存中 set name laowen ...

  2. 解决:未能加载文件或程序集“EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”

    使用nuget管理程序包,有可能在不同时间安装不同版本的Entity Framework:在项目创建初期安装的是6.0.0.0版本,后来添加的类库,安装了6.1.1版本,所以出现这个问题. 解决办法: ...

  3. R语言常用命令

    data() 列出当前已安装包中所有可用的实例数据集 help("name") 查看帮助文档  summary()  

  4. UVa12633 Super Rooks on Chessboard(容斥 + FFT)

    题目 Source http://acm.hust.edu.cn/vjudge/problem/42145 Description Let’s assume there is a new chess ...

  5. 【SQL】区分新来顾客和再访顾客

    -- 赋值 客户来访记录 SELECT m.* FROM (SELECT x.*, CASE WHEN x.ts > (SELECT MIN(a.ts) FROM USER.ps_afterre ...

  6. iOS学习20之UIView

    1. UI编程概述 UI的本意是用户界面,是英文 User 和 Interface 的缩写. UI设计则是指对软件的人机交互.操作逻辑.界面美观的整体设计. 好的UI设计不仅是让软件变得有个性有品位, ...

  7. Start_Learning_Python 03 条件、循环

    if循环 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 条件语句和循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false ...

  8. BZOJ4684 : Company Organization

    二分答案,转化为判定问题. 建立有向图,$a->b$连边表示$a$是$b$的子集,至此可以处理掉$1$和$2$. 对于$5$,则往对应点的集合塞一个元素,即可满足$5$. 首先求出强连通分量进行 ...

  9. BZOJ4527 : K-D-Sequence

    先把所有数减去最小值,防止负数出现问题. $d=0$,直接$O(n)$扫过去即可. $d\neq 0$,首先通过双指针求出每个数作为右端点时往左可以延伸到哪里,中间任意两个数差值都是$d$的倍数且不重 ...

  10. 【POJ2104/2761】K-th Number

    Description You are working for Macrohard company in data structures department. After failing your ...