poi

java基于poi最简单最详细的Excel导入导出功能

拈花ヽ惹草 提交于 2019-12-08 08:18:35
一、Excel的导入导出工具类 1、Excel导出工具类 package com.djw.excel.utils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; /** * @Author djw * @Description //TODO * @Date 2018/9/5 15:52 */ public class ExcelExport { /** * 导出Excel * @param sheetName sheet名称 * @param title 标题 * @param values 内容 * @return */ public static HSSFWorkbook createWorkbook(String sheetName,String []title,String [][]values){ // 第一步

word poi包替换文档内容

喜欢而已 提交于 2019-12-07 15:41:34
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import org.apache.poi.POIXMLDocument; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.usermodel.Range; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFRun; import org.apache.poi.xwpf.usermodel.XWPFTable; import org.apache.poi

java poi导入excel日期处理

北城以北 提交于 2019-12-07 13:46:03
java导入execl常见问题 一,导入的日期为一串数字 如“320422192610161818” 1, 在java导出excel时获取到的日期或其他列是一串数字,并且不管怎么更改都为数字则可以判断为模板有问题 解决办法”新建一个模板,然后将数据拷贝到新建的模板中即可 2,日期导入的格式不正确不是想要的类型 解决办法 if(DateUtil.isCellDateFormatted(row.getCell(3)))// 判断单元格是否属于日期格式 Date date2 = row.getCell(3).getDateCellValue(); SimpleDateFormat dff = new SimpleDateFormat("yyyy-MM-dd"); String date1 = dff.format(date2); //日期转化 3,手机号码导入不正常显示 如为科学计数法 解决办法: DecimalFormat df = new DecimalFormat("0"); String phon = GlobalFunc.toString(row.getCell(3)); Double phones = GlobalFunc.parseDouble(phon); //将获取到的值转换为Double String phone = df.format(phones); 来源:

深度学习在商户挂牌语义理解的实践

隐身守侯 提交于 2019-12-07 04:31:09
​导读:高德地图拥有几千万的POI兴趣点,例如大厦、底商、学校等数据,而且每天不断有新的POI出现。为了维持POI数据的鲜度,高德会通过大量的数据采集来覆盖和更新。现实中POI名称复杂,多变,同时,名称制作工艺要求严格,通过人工来制作POI名称,需要花费大量的人力成本。 因此,POI名称的自动生成就显得格外重要,而机器对商户挂牌的语义理解又是其中关键的一环。本文主要介绍相关技术方案在高德的实践和业务效果。 一、背景 现实世界中,商户的挂牌各式各样,千奇百怪,如何让机器正确的理解牌匾语义是一个难点。商户挂牌的文本种类有很多,如下图所示,我们可以看到一个商户牌匾的构成。 结合POI的名称制作工艺,我们目前将POI的牌匾的文本行分为4大类:主名称、经营性质(包括经营范围,具体的进行项目)、分店名、噪声(包括非POI文字,地址,联系方式),前面3个类别会参与到POI名称制作中。如上图所示的牌匾,它输出的规范名称应该是“世纪宏图不动产 (兴业路店)”。其中“世纪宏图”是主名称,“不动产”是经营范围,而“兴业路店”是分店名。 从牌匾中找出制作名称所需要的文字,不仅仅需要文本行自身的一些特征,还需要通过结合牌匾上下文,以及图像的信息进行分析。单纯的文本行识别会遇到下面的问题,如下图,在两个牌匾中都提到了“中国电信”,但是它们的意义是不一样的,这时必须结合上下文的理解。 二、技术方案

深度学习在商户挂牌语义理解的实践

十年热恋 提交于 2019-12-07 04:29:35
​导读:高德地图拥有几千万的POI兴趣点,例如大厦、底商、学校等数据,而且每天不断有新的POI出现。为了维持POI数据的鲜度,高德会通过大量的数据采集来覆盖和更新。现实中POI名称复杂,多变,同时,名称制作工艺要求严格,通过人工来制作POI名称,需要花费大量的人力成本。 因此,POI名称的自动生成就显得格外重要,而机器对商户挂牌的语义理解又是其中关键的一环。本文主要介绍相关技术方案在高德的实践和业务效果。 一、背景 现实世界中,商户的挂牌各式各样,千奇百怪,如何让机器正确的理解牌匾语义是一个难点。商户挂牌的文本种类有很多,如下图所示,我们可以看到一个商户牌匾的构成。 结合POI的名称制作工艺,我们目前将POI的牌匾的文本行分为4大类:主名称、经营性质(包括经营范围,具体的进行项目)、分店名、噪声(包括非POI文字,地址,联系方式),前面3个类别会参与到POI名称制作中。如上图所示的牌匾,它输出的规范名称应该是“世纪宏图不动产 (兴业路店)”。其中“世纪宏图”是主名称,“不动产”是经营范围,而“兴业路店”是分店名。 从牌匾中找出制作名称所需要的文字,不仅仅需要文本行自身的一些特征,还需要通过结合牌匾上下文,以及图像的信息进行分析。单纯的文本行识别会遇到下面的问题,如下图,在两个牌匾中都提到了“中国电信”,但是它们的意义是不一样的,这时必须结合上下文的理解。 二、技术方案

使用Apache POI写的一个生成/解析 Excel的工具类

帅比萌擦擦* 提交于 2019-12-07 01:51:43
2016年10月24日15:47:51 更新,发布了最新版本,修改了一些BUG。另外在最后加上了调用的示例代码 package com.eya.util.office; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.text.NumberFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.List; import java.util.Set; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel

POI 解析Excel Cannot remove block[ xx ]; out of range[ 0

只愿长相守 提交于 2019-12-07 00:35:37
问题起因 一哥们在做Excel文件解析,大概流程是 从指定FTP -> 下载Excel(2003)文件 -> 解析文件数据 在本地测试解析文件没问题,发布到测试环境就出问题,具体异常如下: java.io.IOException: Cannot remove block[ 922746880 ]; out of range[ 0 - 43921 ] at org.apache.poi.poifs.storage.BlockListImpl.remove(BlockListImpl.java:98) at org.apache.poi.poifs.storage.RawDataBlockList.remove(RawDataBlockList.java:34) at org.apache.poi.poifs.storage.BlockAllocationTableReader.<init>(BlockAllocationTableReader.java:139) at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:141) at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:342) at

poi 带出excel (test 版)

China☆狼群 提交于 2019-12-06 17:41:29
1. /** * query and filter req by Sun * @throws Exception */ @Test public void testQueryWorkNos() throws Exception { System.err.println("start query data from wk table"); // List<String> bookingNos=Arrays.asList("UFL-BK180011447","UFL-BK180011448","UFL-BK180011450","UFL-BK180011467","UFL-BK180011477","UFL-BK180011478"); // List<MilestoneInfo> milelist = workTableRepository.findByBookingNoIn(bookingNos); TreeSet<String> courierBillNos = passExcel("/home/sea/Downloads/exceptional_milestone_list.xlsx"); List<MilestoneInfo> milelist = workTableRepository.findByCourierBillNoIn(courierBillNos); Map

POI 4.0 读取Excel

坚强是说给别人听的谎言 提交于 2019-12-06 16:58:41
... package POIXLS; import java.io.File; import java.io.FileInputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; 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.ss.usermodel.WorkbookFactory; import java.sql.*; //import com.e6soft.base.service.JService; //import com.e6soft.base.annotations.JCall; //import com.e6soft.base.util.WebUtil; public class CS {

poi 解析excel (test 版)

 ̄綄美尐妖づ 提交于 2019-12-06 16:52:54
/** * 解析excel */ @Test public void testPassExcel() throws Exception { // 从 template.xls 文件中读取数据,并保存到 ArrayList<Area> 中后打印输出。 // 1、获取文件输入流 InputStream inputStream = new FileInputStream("/home/sea/Downloads/no Mawb.xls"); // 2、获取Excel工作簿对象 HSSFWorkbook workbook = new HSSFWorkbook(inputStream); //创建返回对象,把每行中的值作为一个数组,所有行作为一个集合返回 TreeSet<String> listNOs = new TreeSet<String>(); if(workbook != null) { //遍历,每一个sheet for(int sheetNum = 0;sheetNum < workbook.getNumberOfSheets();sheetNum++) { //获得当前sheet工作表 Sheet sheet = workbook.getSheetAt(sheetNum); if(sheet == null){ continue; } //获得当前sheet的开始行 int