2.6.2 用NPOI操作EXCEL--设置密码       有时,我们可能需要某些单元格只读,如在做模板时,模板中的数据是不能随意让别人改的.在Excel中,可以通过“审阅->保护工作表”来完成,如下图:      那么,在NPOI中有没有办法通过编码的方式达到这一效果呢?答案是肯定的. HSSFSheet sheet1 = hssfworkbook.CreateSheet("Sheet1"); HSSFRow row1 = sheet1.CreateRow(0); HSSFC…
1 workbook.WriteProtectWorkbook("password", "admin"); 还是可以进去 只读进去 可以编辑 编辑就另存为   2 HSSFCellStyle locked = hssfworkbook.CreateCellStyle();locked.IsLocked = true; cel1.SetCellValue("没被锁定");cel1.CellStyle = unlocked; cel2.SetCell…
c#操作Excel模板,替换命名单元格或关键字形成报表 http://blog.sina.com.cn/s/blog_45eaa01a0102vqma.html一 建立Excel 模板文件 template.xls 1.1 插入命名单元格的方法: 左上角名称框,显示当前单元格的行列号C2,加入命名后会显示其命名name 方法一: (1) 点击 单元格“姓名”之后的单元格(2) 菜单 插入--名称--定义(3) 在框中输入 name 确保底部的引用位置为 =Users!$C$2   按“添加”.“…
有的时候,我们需要通过操作Apache POI,在生成Cell数据的同时,能对其生成的Cell,加上注解(comments),类似于下面的. 那么对于这种情况,我们的代码应该如何写呢? 借花献佛,我就用Apache POI官方提供的例子,然后加上一些注解,给大家看一下.本例子的测试代码是基于POI-3.12的. 执行完后,将会生成上图所示的Excel工作表单(sheet) import org.apache.poi.ss.usermodel.*; import org.apache.poi.xs…
if (fileName == "") return ""; var CurrentRow = 0; Workbook work = new Workbook(fileName); var sheet = work.Worksheets[0]; string name = ""; if (sheet != null) { name = sheet.Name; //获取建设期 var cp = 10; var rowCount = sheet.Ce…
表现:excel中某列中,有的单元格左上角有绿色箭头标志,有的没有,c#编写读取程序,但是只能读取出带绿色箭头的单元格中的内容,其余不带的读取不到内容 原因:excel中单元格因为是文本格式而存储了数值,导致后台错误检查,在左上角显示绿色箭头 解决:string strConn;原来读取不完全的写法:strConn = "Provider = Microsoft.Ace.OLEDB.12.0;Data Source = " + strExcelFilePath + ";Pas…
-> step 1:新建宏,进入编辑,使用如下代码: Sub Ss()Dim c As RangeFor Each c In ActiveSheet.UsedRange i = 1 While InStr(i, c, "木木", 0) > 0 i0 = InStr(i, c, "木木", 0) If i0 > 0 Then c.Characters(i0, 2).Font.Color = vbRed: i = i0 + 2 Wend NextEnd…
Sub 将所有列全部转换为文本() t=timer 'Cells(Rows.Count, 1).End(xlUp).Row 获取第一列最后一个非空单元格的行号 s = Cells(, Columns.Count).End(xlToLeft).Column '获取第一行最后一个非空单元格的列号 For i = To s Columns(i).Select Selection.TextToColumns Destination:=Cells(, i), DataType:=xlDelimited,…
前面我们已经实现了反射机制进行excel表格数据的解析,既然有上传就得有下载,我们再来写一个通用的导出方法,利用反射机制实现对系统所有数据列表的筛选结果导出excel功能. 我们来构想一下这样一个画面,管理员筛选出北京的所有员工数据,想导出成excel表格:管理员筛选出北京所有欠费的企业数据,想导出成excel表格:管理员想导出本月的工单报表到excel表格:管理员想导出近3月北京各岗位的运营报表到excel表格...... 系统客服真是个神奇的职业,神马都想导出到excel表格! 那么对于我们…
/// <summary> /// NPOI操作excel辅助类 /// </summary> public static class NPOIHelper { #region 定义与初始化 public static HSSFWorkbook workbook; [Flags] public enum LinkType { 网址, 档案, 邮件, 内容 }; private static void InitializeWorkbook() { if (workbook == nu…
在上一篇<NPOI操作excel之读取excel数据>我们把excel数据写入了datatable中,本篇就讲如何把datatable数据写入excel中. using System; using System.Data; using System.IO; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using NPOI.HSSF.UserModel; namespace NPOIOprateExcel { public class…
C#开发中使用Npoi操作excel实例代码 出处:西西整理 作者:西西 日期:2012/11/16 9:35:50 [大 中 小] 评论: 0 | 我要发表看法 Npoi 是什么? 1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 2.Npoi 下载地址:http://npoi.codeplex.com/releases/view/38113 3.Npoi 学习系列教程推荐:http://www.cnblogs.com…
NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目.使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写.NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作. NPOI官方网站:http://npoi.codeplex.com/ 下载:Install-Package NPOI 本节内容,介绍NPOI的类…
2.4.1 用NPOI操作EXCEL关于HSSFClientAnchor(dx1,dy1,dx2,dy2,col1,row1,col2,row2)的参数   NPOI教程:http://www.cnblogs.com/atao/archive/2009/11/15/1603528.html 之所有说NPOI强大,是因为常用的Excel操作她都可以通过编程的方式完成.这节开始,我们开始学习NPOI的画图功能.先从最简单的开始,画一条直线:对应的代码为: HSSFSheet sheet1 = hss…
C#操作Excel方法有很多,以前用的需要电脑安装office才能用,但因为版权问题公司不允许安装office.所以改用NPOI进行Excel操作,基本上一些简单的Excel操作都没有问题,读写合并单元格等都能实现. NPOI 库下载地址 命名空间: using NPOI; using NPOI.XSSF.UserModel; using NPOI.SS.UserModel; using NPOI.HSSF.UserModel; using NPOI.HSSF.Util; 简单的保存数据: pu…
最近因项目接触了NPOI,感觉还是蛮不错的,网络上的教程普遍版本较老,本篇记录所常用操作,采用NPOI 2.0版本. 推荐: NPOI官方网站 NPOI 1.2.4/1.2.5 官方教程 新建Excel HSSFWorkbook hssfworkbook =newHSSFWorkbook(); ISheet sheet1 = hssfworkbook.CreateSheet("sheet1");//建立Sheet1 保存(导出)Excel FileStream file =newFil…
由于需要做一个生成下载Excel的功能,查了一下  常用的操作有 NPOI Spire DOCX,于是便下载了NPOI试了一下,发现确实好用,但是还是有几个比较坑的地方 1.不能直接删除列 虽然提供了RemoveCell的功能,但是删除Cell后会在Cell的位置留下空白,而不会用其它的单元格来补齐,因此也不能达到删除列的效果,因此只能用 SetColumnHidden把需要删除的列隐藏掉 2.修改单元格样式的问题 如果在Excel上使用了格式刷或类似的操作   会将多个单元格关联到一个样式  …
public void ExportPermissionRoleData(string search, int roleStatus) { var workbook = new HSSFWorkbook(); ); string fileName = HttpUtility.UrlEncode("sheet" + random + ".xls", System.Text.Encoding.UTF8); #region 表头 ISheet worksheet = wo…
目录 .NET 通过 NPOI 操作 Excel 第一步:通过 NuGet 获取 NPOI 包并引入程序集 第二步:引入 NPOI 帮助类 第三步:在程序中调用相应的方法对数据进行导出导入操作 将 DataTable 导出为 Excel 将 Excel 导入为 DataTable 在 Web 端将 DataTable 导出为 Excel 并输出到浏览器下载 其它方法 .NET 通过 NPOI 操作 Excel 第一步:通过 NuGet 获取 NPOI 包并引入程序集 第二步:引入 NPOI 帮助…
工作中经常遇到需要读取或导出Excel文件的情况,而NPOI是目前最宜用.效率最高的操作的Office(不只是Excel哟)文件的组件,使用方便,不详细说明了. Excel工作表约定:整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 1.先上一个Excel2003的例子,代码如下: //读取xls文件         private void button2_Click(object sender, EventArgs e)…
1 读取Excel并修改单元格 a.一定不能一边读数据,一边修改单元格,否则读出来的数据可能不准 b.注意写文件的模式,不然修改后的文件,打开会报错. c.清空单元格的数据,可以调用SetCellType(CellType.Blank); public void ReadXlsx() { XSSFWorkbook workbook = null; string fileName = @"C:\***\09DataLayer\MainTest\documents\xxx.xlsx"; u…
废话不多说,直接来代码!!! 其中标红的才是重点!!! 代码中有时可以不用创建新文件, 如果报错的话可以通过创建新文件来进行操作(懒,没去找报错原因),不过原文件也会被修改. 操作之前做好备份!操作之前做好备份!操作之前做好备份! 下面是引入的包: org.apache.poi.ss.usermodel.WorkbookFactory org.apache.poi.ss.usermodel.Sheet org.apache.poi.ss.usermodel.Row org.apache.poi.…
最近,公司运营平台需要上传Excel文件并进行解析导入数据库,在开发完成后出现了一个始料不及的生产bug,下面是具体原因: 1.在用POI解析Excel时,默认如果Excel单元格中没有数据,且单元格Style没有边框,那它就是个null,所以只判断了单元格是不是为null 从而导致如果Excel单元格style如果有边框,且单元格内容为null或空字符,会正常的去解析.具体问题原因我在下面代码段里加上了注释,有.xlsx和.xls两段代码,具体内容大同小异 解决方案:我找了一下API 发现XS…
需要用到jxl.jar包  修改有两种方法一种是jxl的  另一种需要apache.poi包 package excelChuLi; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; impo…
Excel单元格内容太多会覆盖遮住下一单元格范围分步阅读 Excel中的单元格内容,有着不同的对齐方式.用户可根据自己的需求,在处理数据的时候,自行设置所需要的对齐方式. 当您在处理数据的时候,如果设置不当,就会遇到这样的问题:Excel单元格内容太多会覆盖遮住下一单元格范围. 可以通过如下的方法来解决. 方法/步骤 如下图,B2单元格,仅输入了几个中文,但是,由于列的宽度不够,因此,该单元格的内容会延伸到下一单元格并覆盖了下一单元格的范围.从而影响了下一单元格的输入与修改. 此时,我们需要的方…
一.excel如何用公式判断单元格的值是否为数字.英文.中文. A列为数据列,B列为判断列=LOOKUP(CODE(ASC(A1)),{48,65,123;"数字","英文","中文"})录入单元格B1下拉.ASCII可显示字符的十进制编码从48开始是数字0从65开始是英文字母A从123开始包含中文等其他字符. 以上为纯数字.纯英文.纯中文. 混编的判断结果如下:(谁在前优先原则) 中英混合的,如"中国a"判断为中文,&quo…
POI Excel 单元格内容类型判断并取值 以前用 cell.getCachedFormulaResultType() 得到 type 升级到4后获取不到了 换为:cell.getCellType()…
excel 单元格内容太多,替换有问题…
asp教程.net c#取excel 合并单元格内容读取excel数据,填充dataset// 连接字符串 string xlspath = server.mappath("~/www.111cn.net/somefile.xls");string connstr = "provider=microsoft.jet.oledb.4.0;" +"extended properties="excel 8.0;hdr=no;imex=1";&…
例:如何将EXCEL单元格A1中的“1-2-1”,在B1.C1.D1单元格中分别显示”1“.”2“.”1“.方法一: 在B1中输入“=mid(A1,1,1)”在C1中输入“=mid(AI,3,1)”在D1中输入“=mid(A1,5,1)” 方法二:在B1输入=LEFT(A1,1)在C1输入=MID(A1,3,1)在D1输入=RIGHT(A1,1) 多个单元格内容合并到一个:先新插入一列,选中新插入列的第一个单元格 直接用“&”,把多个单元格合并在一起:=单元格1&单元格2&单元格3…