处理xls文件
package com.cn.peitest.excel; import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.text.DecimalFormat; 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;
import org.apache.poi.poifs.filesystem.POIFSFileSystem; import com.cn.peitest.excel.tool.ExcelPoiTools; public class pei_testXLS {
/*
* 处理xls文件
* */ public static void main(String[] args){
try {
//生成111.txt文件的地址
PrintStream ps = new PrintStream("C:\\Users\\pei\\Desktop\\111.txt");
//设置将内容打印到111.txt文件中 //System.setOut(ps); //要打印的内容拼成sql文件
System.out.println("insert into `t_pub_bfshlp` values" );
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
HSSFWorkbook rwb = null;
HSSFSheet incomeSheet = null;
POIFSFileSystem fs = null;
HSSFRow row = null;
int l = 0;
//要读取的文件路径
String tableFile = "C:\\Users\\Pei\\Desktop\\HYD test 1_0_2 tm=2020_09_29_09_30.xls";
//读取excle时这句话是固定用法
fs = new POIFSFileSystem(new FileInputStream(new File(tableFile)));
rwb = new HSSFWorkbook(fs);
// 获取到Excel中的Sheet
incomeSheet = rwb.getSheetAt(1); StringBuffer date=new StringBuffer(""); for (int x = 5; x <= 314; x++) {//读取多少行 System.out.print("('99'," ); row = incomeSheet.getRow(x);
// 读取格 编号
for (int y = 0; y <= 4; y++) {//读取每行读多少列,获取前5列的值分别取前两位
l++;
HSSFCell cell = row.getCell(y);
if(cell!=null&&!ExcelPoiTools.getStringCellValue(cell).equals("")&&ExcelPoiTools.getStringCellValue(cell)!=null){ date =date.append( ExcelPoiTools.getStringCellValue(cell).substring(0,2));//获取每列值的前两位数 }
}
l=(date.length())/2; System.out.print("'PRD_IND_TYP"+""+"',"); System.out.print("'" + date+"',");
date.setLength(0); // 读取格 内容
for (int y = 5; y <= 5; y++) {//从第5列开始读取后面每列值得内容
HSSFCell cell = row.getCell(y);
if(cell!=null){
date =date.append( ExcelPoiTools.getStringCellValue(cell));
}
}
System.out.println("'" + date+"','','','20171110010101','','','','',''),");
date.setLength(0); } } catch (Exception e) {
System.out.println(e);
}
} //处理数据
public static String getStringCellValue(HSSFCell cell) {
String strCell = "";
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_STRING://字符串
strCell = cell.getStringCellValue();
break;
case HSSFCell.CELL_TYPE_NUMERIC:
DecimalFormat df = new DecimalFormat("0.00");//处理数字
strCell = df.format(cell.getNumericCellValue());
break;
case HSSFCell.CELL_TYPE_BOOLEAN:
strCell = String.valueOf(cell.getBooleanCellValue());
break;
case HSSFCell.CELL_TYPE_BLANK://空值
strCell = "";
break;
default:
strCell = "";
break;
}
if ("".equals(strCell) || strCell == null) {
return "";
}
if (cell == null) {
return "";
}
return strCell;
}
}
//pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.com</groupId>
<artifactId>excelReadAndWrite</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.directory.studio</groupId>
<artifactId>org.apache.commons.codec</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
</dependencies>
</project>
处理xls文件的更多相关文章
- [数据科学] 从csv, xls文件中提取数据
在python语言中,用丰富的函数库来从文件中提取数据,这篇博客讲解怎么从csv, xls文件中得到想要的数据. 点击下载数据文件http://seanlahman.com/files/databas ...
- 用DataGridView导入TXT文件,并导出为XLS文件
使用 DataGridView 控件,可以显示和编辑来自多种不同类型的数据源的表格数据.也可以导出.txt,.xls等格式的文件.今天我们就先介绍一下用DataGridView把导入txt文件,导出x ...
- sharepoint2013爬xls文件:Error initializing IFilter for extension的解决方案
最近sharepoint2013爬网出现: error initializing IFilter for extension '.xls' (Error code is 0x80030002). Th ...
- java上传xls文件
using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System. ...
- Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据
背景 Python中,想要打开已经存在的excel的xls文件,然后在最后新的一行的数据. 折腾过程 1.找到了参考资料: writing to existing workbook using xlw ...
- Excel的文件打开特别慢,xls文件特别大解决一例
Excel的文件打开特别慢,xls文件特别大解决一例 打开Excel的xls文件打开特别慢,而且操作也非常慢,动辄需要10几20分钟,很不正常.一个简单的Excel的xls文件有10几兆,甚至几百兆的 ...
- Excel 关于新建xls文件 新建sheet 合并sheet的VBA操作代码
Sub 合并一个文件夹下全部xls文件中sheet到一个xls的sheet()workDir = ThisWorkbook.Path '当前xls文件所在的目录绝对路径'MsgBox workDir, ...
- poi excel文件上传并解析xls文件
1.jsp页面 <form action="hw/pe_xls_upload" method="post" enctype="multipart ...
- php中使用PHPExcel操作excel(xls)文件
读取中文的xls.csv文件会有问题,网上找了下资料,发现PHPExcel类库好用,官网地址:http://phpexcel.codeplex.com/ 1.读取xls文件内容 代码如下 复制代码 ...
- java poi导入EXCEL xls文件代码
/** * */ package com.bn.car.common.report.excel; import java.io.FileInputStream; import java.io.IOEx ...
随机推荐
- presto 访问kudu 多schemas配置
presto需要访问kudu数据源,但是impala可以直接支持多数据库存储,但是presto不能原生支持,按照presto的官网设置了然而并不起作用. 官方文档: 到官方github提问了,然后并没 ...
- java47
1. 1.List集合根据角标获取元素 import java.util.ArrayList; import java.util.List; public class List集合 { @Suppre ...
- python 爬虫 汽车之家车辆参数反爬
水平有限,仅供参考. 如图所示,汽车之家的车辆详情里的数据做了反爬对策,数据被CSS伪类替换. 观察 Sources 发现数据就在当前页面. 发现若干条进行CSS替换的js 继续深入此JS 知道了数据 ...
- 解决IDEA更新为最新的2020.3版后,右键运行居然没有以xml形式运行的Run显示
一.前言 个人一直喜欢用IDEA最新版,结果更新后,发现TestNg批量执行,选中testng.xml右键没Run,如下图: 刚开始以为是配置错误呢,下载了2018.2版本的IDEA,还能正常运行,于 ...
- APP非功能测试
1.移动APP启动时间测试 问题:如何获取启动时间? 答:通过adb的logcat来获取Activity启动时间.用户体验时间=Activity启动时间+启动中异步UI绘制的时间. 启动时间的测试主要 ...
- Linux下netstat命令简单操作
netstat -t :TCP协议 -u :UDP协议 -l :监听 -r :路由 -n :显示IP地址和端口号 常用: netstat -tlun 查看本机监听的端口 netstat -an 查看本 ...
- [Java复习]架构部署 超时重试 幂等防重
画一下你们系统的整体架构图,说说各个服务在生产环境怎么部署的? 核心:服务框架.注册中心.网关 即使你没有用很多微服务架构里的东西,只要有上述三个东西,配合上写一些文档,接口文档,分布式系统架构,其实 ...
- 痞子衡嵌入式:了解i.MXRT1060系列ROM中串行NOR Flash启动初始化流程优化点
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1060系列ROM中串行NOR Flash启动初始化流程优化点. 前段时间痞子衡写了一篇 <深入i.MXRT1050系 ...
- PostgreSQL 如何忽略事务中错误
在 PostgreSQL 的事务中:执行的SQL遇到错误(书写,约束限制):该事务的已经执行的SQL都会进行rollback.那如何忽略其中的错误.将SQL执行到底?在事务中设置 ON_ERROR_R ...
- Springboot mini - Solon详解(一)- 快速入门
一.Springboot min -Solon 最近号称 Springboot mini 的 Solon框架,得空搞了一把,发觉Solon确实好用,小巧而快速.那Solon到底是什么,又是怎么好用呢? ...