- 浏览: 588381 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (231)
- JAVA (64)
- Oracle (50)
- JAVA IDE (10)
- AJax (8)
- Spring (12)
- hibernate (10)
- Struts (9)
- Jquery (7)
- EXT js (9)
- Tomcat (2)
- MySql (13)
- SQLServer 2005 (3)
- java script (10)
- DB2 (6)
- Linux (15)
- solaris (3)
- 开发模式 (16)
- windows (15)
- 硬件 (2)
- PHP (3)
- 框架整合 (17)
- Weblogic (12)
- JBOSS (1)
- 协议 (7)
- 云计算 (6)
- JSF (1)
- richfaces (1)
- python (1)
最新评论
-
woshiicesky:
怎么使用的?
解决jdk1.7 不支持TLS1.2的问题 -
sunzbking:
哇!大佬谢谢分享解决问题啦
解决jdk1.7 不支持TLS1.2的问题 -
doren:
谢谢,很好解决我们的问题
解决jdk1.7 不支持TLS1.2的问题 -
贝塔ZQ:
PageOffice插件,挺好使得,可以试试
POI解析Excel 文件读取,修改,另存等功能 -
程俊2009:
需要用哪些jar,可以说下吗
jdom读写XMl文件
package com; 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.util.ArrayList; import java.util.List; import java.util.Properties; import javax.swing.JOptionPane; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; /** * @author 李高松 * @function 使用poi读取Excel文件完成对资产表的读取生成设备跟踪表和人员跟踪表 * @date 2012年6月27日 15:36:18 * @version 1.0 */ public class ReadExcel { public static void main(String[] args) { Properties prop = new Properties(); InputStream in = ReadExcel.class .getResourceAsStream("/path.properties"); String url = ""; try { prop.load(in); url = prop.getProperty("path").trim(); JOptionPane.showMessageDialog(null, "点击确定执行!"); WriteExcelSBGZ(url);// 生成设备文件 WriteExcelRYGZ(url);// 生成人员文件 JOptionPane.showMessageDialog(null, "请稍候!处理中......"); JOptionPane.showMessageDialog(null, "处理完成!"); } catch (Exception e) { e.printStackTrace(); } } public static List<Property> ReadExcel(String url) { File f = new File(url + "资产总表.xls");// 读取excel文件 try { FileInputStream is = new FileInputStream(f);// 创建文件流 HSSFWorkbook wbs = new HSSFWorkbook(is);// 加载文件流 HSSFSheet childSheet = wbs.getSheetAt(0);// 读取第一个Sheet // System.out.println("总行数:" + childSheet.getLastRowNum()); List<Property> lt = new ArrayList<Property>(); for (int i = 1; i < childSheet.getLastRowNum() + 1; i++) {// 遍历行 HSSFRow row = childSheet.getRow(i);// 获得行对象 if (null != row) { HSSFCell cell = row.getCell(0); // System.out.println("总列数:" + row.getLastCellNum()); Property ppt = new Property(); ppt.setSid(row.getCell(0).toString()); ppt.setWlgs(row.getCell(1).toString()); ppt.setSbtype(row.getCell(2).toString()); ppt.setPp(row.getCell(3).toString()); ppt.setGgxh(row.getCell(4).toString()); ppt.setSbid(row.getCell(5).toString()); ppt.setCcid(row.getCell(9).toString()); ppt.setChushi(row.getCell(12).toString()); ppt.setName(row.getCell(14).toString()); lt.add(ppt); } } is.close(); return lt; } catch (FileNotFoundException e) { JOptionPane.showMessageDialog( null,"路径错误!请检查路径"); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } public static void WriteExcelSBGZ(String url) { try { List<Property> lt = ReadExcel( url); for (int i = 0; i < lt.size(); i++) { File f = new File(url+"设备跟踪表.xls");// 读取excel文件 FileInputStream is = new FileInputStream(f);// 创建文件流 HSSFWorkbook wb = new HSSFWorkbook(is); HSSFSheet sheet = wb.getSheetAt(0); // 第一个工作表 HSSFRow row = sheet.getRow(3);// 获得行对象 row.getCell(2).setCellValue(lt.get(i).getSbid()); row.getCell(6).setCellValue(lt.get(i).getSid()); row.getCell(10).setCellValue(lt.get(i).getSbtype()); HSSFRow row1 = sheet.getRow(4);// 获得行对象 row1.getCell(2).setCellValue(lt.get(i).getPp()); row1.getCell(6).setCellValue(lt.get(i).getGgxh()); row1.getCell(10).setCellValue(lt.get(i).getCcid()); FileOutputStream fileOut = new FileOutputStream( url+"设备跟踪表-" + lt.get(i).getSbid() + ".xls"); wb.write(fileOut); is.close(); fileOut.close(); } } catch (FileNotFoundException e) { JOptionPane.showMessageDialog( null,"路径错误!请检查路径"); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } @SuppressWarnings("unused") public static void WriteExcelRYGZ(String url) { HSSFWorkbook wb = null; File f; FileInputStream is = null; FileOutputStream fileOut = null; try { List<Property> lt = ReadExcel(url); for (int i = 0; i < lt.size(); i++) { if (i == 0) { f = new File(url + "人员跟踪表.xls");// 读取excel文件 is = new FileInputStream(f);// 创建文件流 } else { try { f = new File(url + "人员跟踪表-" + lt.get(i).getChushi() + "-" + lt.get(i).getName() + ".xls");// 读取excel文件 is = new FileInputStream(f);// 创建文件流 } catch (Exception e) { f = new File(url + "人员跟踪表.xls");// 读取excel文件 is = new FileInputStream(f);// 创建文件流 } } if (null != is) { wb = new HSSFWorkbook(is); HSSFSheet sheet = wb.getSheetAt(0); // 第一个工作表 HSSFRow row1 = sheet.getRow(1); if (!lt.get(i).getName().equals(row1.getCell(7).toString())) { row1.getCell(1).setCellValue(lt.get(i).getChushi()); row1.getCell(7).setCellValue(lt.get(i).getName()); HSSFRow row = sheet.getRow(3);// 获得行对象 row.getCell(1).setCellValue(lt.get(i).getSbtype()); row.getCell(2).setCellValue(lt.get(i).getWlgs()); row.getCell(3).setCellValue(lt.get(i).getSbid()); row.getCell(4).setCellValue(lt.get(i).getCcid()); fileOut = new FileOutputStream(url + "人员跟踪表-" + lt.get(i).getChushi() + "-" + lt.get(i).getName() + ".xls"); wb.write(fileOut); is.close(); fileOut.close(); } else { int n = 5; if (!(sheet.getRow(n).getCell(1).toString() == "")) { n = n + 2; } HSSFRow row = sheet.getRow(n);// 获得行对象 row.getCell(1).setCellValue(lt.get(i).getSbtype()); row.getCell(2).setCellValue(lt.get(i).getWlgs()); row.getCell(3).setCellValue(lt.get(i).getSbid()); row.getCell(4).setCellValue(lt.get(i).getCcid()); fileOut = new FileOutputStream(url + "人员跟踪表-" + lt.get(i).getChushi() + "-" + lt.get(i).getName() + ".xls");//另存文件 wb.write(fileOut); is.close(); fileOut.close(); } } } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
发表评论
-
POI 实现Excel文件中点击超链接跳转到某sheet页某列某行的功能
2017-05-02 16:03 1500import java.io.FileOutputStrea ... -
解决jdk1.7不支持TSL1.2的问题(续)
2017-02-16 16:16 3907解决jdk1.7 不支持TLS1.2的问题 续 ... -
查询JDK默认支持的SSL/TSL版本
2017-02-16 15:58 8717public static void main(String ... -
查询jdk支持的加密算法和支持协议
2017-02-09 17:43 1838import java.security.*; ... -
解决jdk1.7 不支持TLS1.2的问题
2017-02-09 17:24 35427场景 java程序使用https方式调用nessus ... -
Java GC的工作原理详解
2016-03-09 15:17 953JVM学习笔记之JVM内存管理和JVM垃圾回收的概念,JVM ... -
Java性能调优工具
2016-02-23 15:39 7391、JDK命令行工具 1.1、jps命令 jps用于列出 ... -
linux 设置tomcat 自启动
2014-06-11 19:21 926想tomcat开机自启动必须还得设置/etc/rc.d/rc ... -
Redhat Enterprise Linux 6.4 安装Oracle JDK替换OpenJDK
2014-06-11 11:13 1492缺省java版本为OpenJDK 1.7: # ja ... -
IO三种方式:BIO,NIO,AIO (异步读写asynchronous IO)
2014-02-28 14:26 1342dk1.6及之前都只实现BIO 和 NIOjdk1.7开始支 ... -
Java性能的十一个用法
2013-02-22 16:34 961Java语言习惯用语 1。 ... -
Java编码易疏忽的十个问题
2013-02-20 17:30 968在Java编码中,我们容易犯一些错误,也容易疏忽一些问题,因 ... -
jdom读写XMl文件
2012-12-29 12:28 2186昨天写的一个使用jdom读写xml文件的一个例子: / ... -
Java虚拟机的统计监测工具:jstat
2012-10-22 10:22 1488jstat:是JDK自带的虚拟机统计监测工具在命令行中执 ... -
JVM -XX: 参数介绍
2012-10-22 10:20 1469功能开关: 参数 默 ... -
spring mvc(基于注解)
2012-10-18 16:10 1353web.xml 配置: <servlet> ... -
hibernate注解大全
2012-10-18 14:16 1130/** * * @content ejb3 ... -
2012年10月编程语言排行榜
2012-10-16 13:00 1231谷歌Dart在本月首次进入了TIOBE排名前50位,也是 ... -
软件工程文档编写标准包括哪些内容
2012-08-22 17:03 1470在项目开发过程中,应 ... -
spring3.1.1的各个jar作用
2012-07-26 10:56 1448org.springframework.aop-3.1 ...
相关推荐
apache poi解析Excel时报错,我将Excel打开后保存,就不会报错,我将重写的类从新打包这样问题虽然网上有解决方案,但是需要自己打包重写对应类,我已将这些步骤做好了。
总结起来,解析Excel并另存为部分数据涉及到的关键技术点有:Apache POI库的使用,读取与写入Excel文件,以及数据的选择性处理。这些技术在数据分析、报表生成、数据导入导出等场景中有着广泛的应用。
这需要第三方库如Apache POI来解析Excel文件。 三、TXT文件导入 TXT文件导入与CSV类似,只是可能需要额外设置字段分隔符。使用SQL*Loader时,确保在控制文件中正确定义了字段分隔符。 四、注意事项 - 在导入前,...
PowerPoint转PDF:类似地,对于PowerPoint演示文稿,转换过程可能涉及读取PPT或PPTX文件,解析其内容,包括文本、图片、幻灯片布局等,然后使用PDF库如PDFBox或iText生成PDF文件。这些库可以帮助保留动画和交互性,...
Excel文件的处理类似,可以通过Microsoft的COM组件或OpenXML SDK来读取和解析。在这个案例中,Word文档被另存为HTML,这可能是为了方便在网页上展示或者简化处理步骤。 存入数据库的过程涉及数据库设计、SQL语句...
- 开发者也可以使用Apache POI(Java)或Python的`openpyxl`库来读取Excel文件,并生成HTML代码。 - 转换时需要注意单元格样式、公式、图表的处理,确保HTML表格的准确性和可读性。 3. **PowerPoint到HTML**: -...
在Java中,你可以使用POI来创建、修改和读取Word(.doc)文件。POI提供了一套API,允许开发者用纯Java来处理这些文件,无需依赖任何Microsoft的组件。 POI的主要组件包括HSSF(处理Excel文件)和HWPF(处理Word文件...
2. Apache POI方案:Apache POI包括一系列的API,它们可以操作基于MicroSoft OLE 2 CompoundDocument Format的各种格式文件,可以通过这些API在Java中读写Excel、Word等文件。他的Excel处理很强大,对于Word还局限于...
POI虽然能够读取Word文档,但在编写文档时,其对复杂样式的控制力有限,且对于大规模数据的处理效率低下。同样,尽管iText在处理Excel文档时表现良好,但对于复杂的Word文档而言,其处理起来依旧困难重重。 ### 2. ...
Apache POI是一个流行的库,用于读取和写入Microsoft Office格式的文件,包括Word文档。然而,尽管它在读取文档方面表现出色,但在创建新文档或修改现有文档时,特别是处理复杂的样式和布局时,可能会变得非常困难。...
POI读取Word文档比较适合、对于生成文档样式比较难控制,iText操作Excel还可以,对Word的操作功能有限,JACOB操作Word实现复杂,并且无法将服务部署到Linux平台,要求安装office,对于实现固定格式的报表实现困难,...