读取指定excel,修改并某个值并另存到指定路径
HSSFWorkBook是解析excel2007以前的版本(xls)
之后的版本使用XSSFWrokBook(xlsx)
附:处理excel2007之后的版本代码:
package gbyp.autoQuery.action; import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.channels.FileChannel;
import java.util.Date;
import java.util.Iterator; import org.apache.poi.hssf.extractor.ExcelExtractor;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFHyperlink;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import xsf.IContextDictionary;
import xsf.data.DBManager;
import xsf.data.DataRow;
import xsf.data.DataTable;
import xsf.data.Sql;
import xsf.web.HttpContext;
import xsf.web.IAction; public class ExcelExport { public static void main(String[] args) {
ExcelExport ee = new ExcelExport();
ee.writeExcel2();
} public void writeExcel2() {
// 声明excel对象
XSSFWorkbook wb = null;
// 声明poi流
// POIFSFileSystem fs=null;
// 写读取的文件路径
String path = "E:/需要完善的项目清单.xlsx";
try { // 创建文件流 创建excell对象
wb = new XSSFWorkbook(new FileInputStream(path)); // 获得工作薄, 得到工作表
XSSFSheet sheet = wb.getSheetAt(0); boolean isOne = true;
for (Iterator<Row> iter = sheet.rowIterator(); iter.hasNext();) {
// 得到行
Row row = iter.next();
// 迭代列
// 循环每一行的所有列
int i = 0;
for (Iterator<Cell> cellIter = row.cellIterator(); cellIter
.hasNext();) {
// 得到列对象
Cell cell = cellIter.next();
if (i == 1) {
String content = cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC ? cell
.getNumericCellValue() + ""
: cell.getStringCellValue();
if (!content.equals("项目名称")) {
//数据库取值并赋值
cell.setCellValue("****项目");
}
} i++;
}
if (isOne) {
isOne = false;
}
} String path2 = "E:/需要完善的项目清单2.xlsx";
// 创建输出流
OutputStream out = new FileOutputStream(path2);
// 将数据写入文件
wb.write(out);
// 关闭文件
out.close(); } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
附:处理excel2007之前版本代码:
package gbyp.autoQuery.action; import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.channels.FileChannel;
import java.util.Date;
import java.util.Iterator;
import org.apache.poi.hssf.extractor.ExcelExtractor;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFHyperlink;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.util.CellRangeAddress; import xsf.IContextDictionary;
import xsf.data.DBManager;
import xsf.data.DataRow;
import xsf.data.DataTable;
import xsf.data.Sql;
import xsf.web.HttpContext;
import xsf.web.IAction; public class ExcelExport { public static void main(String[] args) {
ExcelExport ee = new ExcelExport();
ee.writeExcel2();
} public void writeExcel2() {
// 声明excel对象
HSSFWorkbook wb = null;
// 声明poi流
POIFSFileSystem fs = null;
// 写读取的文件路径
String path = "E:/需要完善的项目清单.xls";
try { // 设置要读取的文件路径
// 创建文件流
fs = new POIFSFileSystem(new FileInputStream(path)); // HSSFWorkBook相当于一个excel文件,HSSFWorkBook是解析excel2007以前的版本(xls)
// 之后的版本使用XSSFWrokBook(xlsx)
// 创建excell对象
wb = new HSSFWorkbook(fs); // 获得工作薄
// 得到工作表
HSSFSheet sheet = wb.getSheetAt(0); boolean isOne = true; for (Iterator<Row> iter = sheet.rowIterator(); iter.hasNext();) {
// 得到行
Row row = iter.next();
// 迭代列
// 循环每一行的所有列
int i = 0;
for (Iterator<Cell> cellIter = row.cellIterator(); cellIter.hasNext();) {
// 得到列对象
Cell cell = cellIter.next();
if (i == 1) {
String content = cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC ? cell.getNumericCellValue() + "": cell.getStringCellValue();
if(!content.equals("项目名称")){
cell.setCellValue("****项目");
}
} i++;
}
if (isOne) { isOne = false;
}
} String path2 = "E:/需要完善的项目清单2.xls";
// 创建输出流
OutputStream out = new FileOutputStream(path2);
// 将数据写入文件
wb.write(out);
// 关闭文件
out.close(); } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
读取指定excel,修改并某个值并另存到指定路径的更多相关文章
- C#读取Excel,DataTable取值为空的解决办法
连接字符串这么些就行了 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + opnFileName ...
- JDBC批处理读取指定Excel中数据到Mysql关系型数据库
这个demo是有一个Excel中的数据,我需要读取其中的数据然后导入到关系型数据库中,但是为了向数据库中插入更多的数据,循环N次Excel中的结果. 关于JDBC的批处理还可以参考我总结的如下博文: ...
- 【转】c# winform 创建文件,把值写入文件,读取文件里的值,修改文件的值,对文件的创建,写入,修改
创建文件和读取文件的值 #region 判断文件是否存在,不存在则创建,否则读取值显示到窗体 public FormMain() { InitializeComponent(); //ReadFile ...
- [转]POI读写Excel 修改
[转]POI读写Excel 修改 一.Excel基础 二.HSSF概况 三.通过usermodel读取文件 四.通过usermodel写入文件 五.通过eventusermodel读取文件 六.HSS ...
- jQuery设置和获取以及修改class name值操作
在Web程序开发中.很多时候会用需要修改Html标签的class名称.来达到修改标签样式的效果.那么在代码中一般是怎么操作的呢.本文将为你详细讲解一下class的使用.在jQuery中可以使用attr ...
- 将excel中某列数据中,含有指定字符串的记录取出,并生成用这个字符串命名的txt文件
Python 一大重要的功能,就是可处理大量数据,那分不开的即是使用Excel表格了,这里我做下学习之后的总结,望对我,及广大同仁们是一个帮助Python处理Excel数据需要用到2个库:xlwt 和 ...
- UiPath Excel修改操作
一.Excel 修改操作 1.删除行 (1)控件介绍 Insert/Delete Rows: 在特定位置添加或删除指定数量的行 常用属性介绍: Destination: NoRows: ...
- DataTable to Excel(使用NPOI、EPPlus将数据表中的数据读取到excel格式内存中)
/// <summary> /// DataTable to Excel(将数据表中的数据读取到excel格式内存中) /// </summary> /// <param ...
- POI读取/写入Excel文件
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...
随机推荐
- 如何在GitHub上生成ssh公钥并用NetBeans克隆项目
一.生成ssh公钥. 1.首先判断本机是否创建了公有密钥: $ ls ~/.ssh 这个命令用于检查是否已经存在 id_rsa.pub 或 id_dsa.pub 文件,如果文件已经存在,下面步骤可省略 ...
- 质量体系 CMMI
CMMI初识 CMM-Capability Maturity Model,能力成熟度模型.CMMI-Capability Maturity Model Integration,能力成熟度模型集成. C ...
- MySQL 账户管理
一.当前日期.当前用户.当前数据库版本 mysql> select curdate(),version(),database(),user(); +------------+---------- ...
- BotVS开发基础—2.1 账户、行情、K线、深度
代码 import json def main(): Log("账号信息:", exchange.GetAccount()); # Log("K 线数据:", ...
- Python数据类型-布尔/数字/字符串/列表/元组/字典/集合
代码 bol = True # 布尔 num = 100000000; # 数字 str = "fangbei"; # 字符串 str_cn = u"你好,方倍" ...
- innerHTML innerText的使用和区别
document对象中有innerHTML.innerText这两个属性,都是获取document对象文本内容,但使用起来还是有区别的: 1) innerHTML设置或获取标签所包含的HTML+文本信 ...
- go web 第一天 学习笔记
package main import ( "fmt" "log" "net/http" "strings" ) fun ...
- UWP 手绘视频创作工具技术分享系列 - SVG 的解析和绘制
本篇作为技术分享系列的第一篇,详细讲一下 SVG 的解析和绘制,这部分功能的研究和最终实现由团队的 @黄超超 同学负责,感谢提供技术文档和支持. 首先我们来看一下 SVG 的文件结构和组成 SVG ( ...
- LVS之DR跨网段实战及高可用性
author:JevonWei 版权声明:原创作品 LVS-DR实现跨网段 网络拓扑 网络环境 RS1 RIP 192.168.198.138/24 VIP 192.168.80.100/32 GW ...
- matlab-常用函数(1)
rng('shuffle'): matlab help文档中的解释 rng('shuffle'): seeds the random number generator based on the cur ...