poi

使用POI操作Excel

老子叫甜甜 提交于 2019-12-30 03:52:58
首先要下载所需jar包, 官网: http://poi.apache.org ,POI支持office的所有版本 下载完后,打开“poi-bin-3.10.1-20140818”获取操作excel需要的jar包,并将这些jar包复制到项目中。对于只操作2003 及以前版本的excel,只需要poi-3.10.1-20140818.jar ,如果需要同时对2007及以后版本进行操作则需要复制 poi-ooxml-3.10.1-20140818.jar, poi-ooxml-schemas-3.10.1-20140818.jar,以及复制在ooxml-lib目录下的xmlbeans-2.6.0.jar,dom4j-1.6.1.jar。 在POI包中有如下几个主要对象和excel的几个对象对应(针对03版本): HSSFWorkbook Excel 工作簿workbook HSSFSheet Excel 工作表 sheet HSSFRow Excel 行 HSSFCell Excel 单元格 POI 也能对07以后的excel版本进行读写,读写方法和读写03版是一样的,只是对象名称变了;原来各对象的开头字母H变为X,操作方式不变。 1、 Excel 的工作簿对应POI的XSSFWorkbook对象; 2、 Excel 的工作表对应POI的XSSFSheet对象; 3、 Excel

poi做一个简单的EXCAL

会有一股神秘感。 提交于 2019-12-29 12:42:59
//创建一个实体类 package text; import java.util.Date; public class Student { private int id; private String name; private int age; private Date birth; public Student() { } public Student(int id, String name, int age, Date birth) { this.id = id; this.name = name; this.age = age; this.birth = birth; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Date getBirth() { return birth; } public

体检管理系统——POI报表组件快速入门

♀尐吖头ヾ 提交于 2019-12-28 20:27:32
(1)导入Excel org.apache.poi poi 3.14 org.apache.poi poi-ooxml 3.14 POI结构 HSSF --> xls XSSF --> xlsx (1)工作簿 (XSSFWorkbook/HSSFWorkbook) (2)sheet (XSSFSheet/HSSFSheet) (3)行(Row) (4)列(Cell) (5)数据 从Excel中读取数据,写入数据库 @Test public void readExcel() throws Exception{ String filePath = “C:\Users\Windows\Desktop\Hello.xlsx”; //MultipartFile InputStream getInputStream() throws IOException; //根据文件获取工作簿 XSSFWorkbook workbook = new XSSFWorkbook(new File(filePath)); //获取sheet XSSFSheet sheet = workbook.getSheetAt(0); for (Row row : sheet) { //循环获取所有的行 String name = row.getCell(0).getStringCellValue(); double

一些sb错误总结

南楼画角 提交于 2019-12-28 09:17:37
多测要清空 e.g. CSP-S2 D2T2 ,链的部分分想到了怎么做,大样例也过了,结果一个数组没清空(15-->0),为什么能过大样例?因为数据有梯度。 来源: https://www.cnblogs.com/poi-bolg-poi/p/12110756.html

POI处理excel2007内存溢出问题

血红的双手。 提交于 2019-12-27 18:09:05
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 项目中遇到数据导入、导出用excle操作的问题,数据量在W级别,因03版有6W+的限制,系统统一采用07版excel来做,采用POI进行处理,在导入、导出的时候都遇到的内存溢出的问题,导入方面主要参考下面的文章处理 http://blog.csdn.net/lishengbo/article/details/40711769(感谢作者分享) 导出部分采用官方提供的例子,采用SXSSFWorkbook进行导出。可参考以下文章: http://blog.csdn.net/wangweiyan89/article/details/8863975 单独做这两部分功能都能解决内存溢出的问题,那么问题来了,系统中存在一种操作,需要将导出的文件再次进行导入,这里就是用 SXSSFWorkbook导出的文件在采用SAX解析的方式进行读取,这时出现读不到数据的情况,前一步生成的excel可以正常打开查看,但无法通过程序再次读取,考虑过网络下载文件存在保护视图的等权限的问题,但读的权限是可以的,换思路。。。奇怪的是excel文件打开后,随便点击哪里,不进行修改,再关闭的时候就提示需要保存修改,保存修改后在次用程序读取就可以正常读取数据了。考虑是不是写文件的时候出现差错,用官方提供的最简单例子进行读取,发现同样问题。 。。。

POI到量大的数据到EXCEL

和自甴很熟 提交于 2019-12-27 18:05:13
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 根据官网ex: SXSSF(包:org.apache.poi.xssf.streaming)是一种API-compatible流扩展XSSF时使用 非常大的电子表格制作,和堆空间是有限的。 SXSSF达到低内存占用通过限制访问的行 在一个滑动窗口,而XSSF给访问的所有行吗 文档。 老行不再是在窗口变得无法访问, 他们将被写入到磁盘。 您可以指定在工作簿窗口大小通过施工时间 新SXSSFWorkbook(int windowSize) 或者你可以把它per-sheet通过 SXSSFSheet # setRandomAccessWindowSize(int windowSize) 当创建一个新行通过createRow()和总数 不能记录将超过指定的窗口大小,然后 行索引值最低的刷新和无法访问 通过getRow()了。 默认的窗口大小 100年 并通过SXSSFWorkbook.DEFAULT_WINDOW_SIZE定义。 windowSize 1表示无限的访问。 在这种情况下所有的 记录没有被调用刷新flushRows()是可用的 随机存取。 注意,SXSSF分配临时文件 必须 总是显式清理,通过调用dispose方法。 SXSSFWorkbook默认使用内联字符串而不是共享的字符串 表。 这是非常有效的

java poi 读取excel内容

℡╲_俬逩灬. 提交于 2019-12-27 17:55:45
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; public class MainTest { public static void main(String[] args) { String filePath="D:/home/读取测试.xls"; try { readExcel(filePath); } catch (Exception e) { e.printStackTrace(); } } /** * 读取excel内容 * @param filePath 文件路径 * @throws Exception */ public static void readExcel(String filePath)

解决 POI 导出 EXCEL 火狐浏览器下文件中文名称乱码

那年仲夏 提交于 2019-12-25 17:09:48
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 开发中使用 POI 导出 EXCEL 时候,表格中文名称在其它浏览器都正常显示,但是在火狐浏览器下中文名称乱码,网上也简单搜了下,分享下我的解决方式。 1、针对火狐浏览器特殊处理 public static String toUtf8String(String filename) { if (HttpRequestUtil.getHttpRequest().getHeader("USER-AGENT").toLowerCase().indexOf("firefox") > 0) { try { return new String(filename.getBytes(), "ISO-8859-1"); } catch (UnsupportedEncodingException e) { log.error("filename:{}", filename); } } return filenameEncode(filename); } private static String filenameEncode(String s) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < s.length(); i++) { char c = s

JAVA 使用 POI 导出 EXCEL 自定义背景颜色

巧了我就是萌 提交于 2019-12-25 16:30:46
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 开发中导入和导出 excel 是常见的功能,在这里记录下使用 POI 导出表格的简单实现,下一篇在分享下导入表格,话不多说直接上代码。 1、项目引入 maven 依赖 <!-- poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.15</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>3.15</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.15</version> </dependency> 2、导出表格数据接口 @RequestMapping("/exportTemplate") public void exportDelayTemplate(HttpServletResponse

高德网络定位算法的演进

喜你入骨 提交于 2019-12-25 10:58:28
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1.导读 GPS定位精度高,且早已成为移动设备标配,但GPS也具有一些难以克服的缺陷,包括: 冷启动时间长。GPS启动时,需要进行搜星,锁定卫星信号,然后再进行位置技术,这个过程可能会达到几十秒,即使采用诸如AGPS等技术,仍然有秒级的时间无法定位。 室内或有遮挡的场景。GPS信号弱,无法有效定位。 用户需要持续的有效定位,因此需要另一个技术对GPS进行补充,这就是网络定位技术。 网络定位是将手机设备收到的信号(主要是基站、Wifi、蓝牙)发送到网络服务器,获得位置。之所以要将信号数据发送到网络上,是因为网络定位是利用信号指纹进行定位,需要一个庞大的且持续更新的指纹数据库,这个数据库难以同步到移动设备上。为了进行定位,需要事先建立每个位置的指纹特征,然后在定位时用实时指纹比对每个位置的历史指纹,确定位置。 高德网络定位不仅承担着高德地图用户的定位请求,还面向国内所有主流手机厂商,以及国内30万以上App提供服务,日均处理请求千亿次,峰值QPS百万级。 在过去的几年中,高德网络定位算法经历了从无监督算法向有监督算法的演进,从定位精度、定位能力透出等方面都有了显著的提升。 注:高德网络定位只存在于安卓平台上,在iOS上由于苹果公司未开放任何定位相关的指纹数据(Wifi、基站列表等),定位结果全部来自于iOS自身。