poi是什么_poi是什么工具 - CSDN
精华内容
参与话题
  • POI入门理解

    2019-11-19 14:56:16
    1.poi什么: 简单来说,简单来说Apache poi 提供API给Java程式对Microsoft Office格式档案读和写的功能。 2.poi结构 HSSF [1] - 提供读写Microsoft Excel XLS格式档案的功能。 XSSF [1] - 提供读写Microsoft ...

    1.poi是什么:

    简单来说,简单来说Apache poi 提供API给Java程式对Microsoft Office格式档案读和写的功能。

    2.poi结构

    HSSF [1] - 提供读写Microsoft Excel XLS格式档案的功能。

    XSSF [1] - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。

    HWPF [1] - 提供读写Microsoft Word DOC格式档案的功能。

    HSLF [1] - 提供读写Microsoft PowerPoint格式档案的功能。

    HDGF [1] - 提供读Microsoft Visio格式档案的功能。

    HPBF [1] - 提供读Microsoft Publisher格式档案的功能。

    HSMF [1] - 提供读Microsoft Outlook格式档案的功能。

    这些都是poi提供的一些包

    poi各Jar包的作用

    在这里插入图片描述

    Component Map

    在这里插入图片描述

    展开全文
  • 对于地图产品而言,某个地理位置周边的信息,称之为 POI 。本文作者将简单地聊聊自己对于地图产品中POI的了解和看法。 作为一个标准的路痴,以前信奉的一句话是「地图长在嘴巴上」,到一个不熟悉的地方,多问几...

    原文地址:http://www.leiphone.com/news/201612/u8F791BLvlIENtZa.html

    对于地图产品而言,某个地理位置周边的信息,称之为 POI 。本文作者将简单地聊聊自己对于地图产品中POI的了解和看法。

    作为一个标准的路痴,以前信奉的一句话是「地图长在嘴巴上」,到一个不熟悉的地方,多问几个人,总能到达目的地。后来,随着智能机的普及与地图产品的完善,更倾向于去地图软件中查找想要去的地方。毕竟大多数人掌握的信息都没有地图产品全面。

    当我们在使用地图产品时,除了查询路线外,还经常会用到的一个功能是:「发现周边 / 附近」。利用这个功能,可以查找你附近的美食、景点、酒店等等。

    对于地图产品而言,某个地理位置周边的信息,称之为 POI 。百度地图的官方文档中是这么解释的:位置数据,point of information。不过网络上也有其他的说法,point of interest ,地图上任何非地理意义的有意义的点,比如商店、酒吧、加油站。

    在地图表达中,一个 POI 可代表一栋大厦、一家商铺、一处景点等等。通过 POI 搜索,完成找餐馆、找景点、找厕所等等的功能。

    POI 存在的意义在于:无论是熟悉还是陌生的城市,你并不能准确的记住和了解你周边的信息。比如,我们需要找一家银行,一家家银行搜索未免太麻烦,若是直接能在地图上依次显示离你最近的银行,岂不是很方便?

    简单聊聊自己对于地图产品中POI的了解和看法。

    一、地图产品的 POI 分类

    地图产品的 POI 分类对于开发者和用户而言,所感知的视角有所不同。

    1. 移动端用户视角的 POI 分类

    对于大多数地图产品而言,发现周边 POI,有两种方式。一种是通过点击产品首页的按钮发现/附近按钮进入;另一种是通过顶部的搜索栏,根据搜索提示进入。

    第一种,当我们打开百度地图时,在软件首页底部,会有一个发现周边按钮,点击即可看到百度为我们提供的周边数据。(高德地图:首页→附近)

    百度地图、高德地图都用POI吸引你,不过它到底是什么?

    第二种,直接点击顶部搜索栏,搜索栏下方会出现 POI 的搜索提示。

    百度地图、高德地图都用POI吸引你,不过它到底是什么?

    以百度地图和高德地图为例,这两款App都是将POI分为六类:吃、住、行、玩、景点、购物、生活。既可选择大类,也可选择大类中的小类。

    e.g.可直接选择美食,也可以选择美食中的小类,如小吃、快餐等。

    百度地图、高德地图都用POI吸引你,不过它到底是什么?

    这是从移动端的用户视角感知的 POI 分类,基本涵盖了对于地理位置周边的各种信息需求。

    独特的 POI 甚至能成为地图产品的宣传点。搜狗地图在最近更新的版本中,加入了对充电桩数据的搜索,满足了电动车车主的充电需求。与此同时,其竞品:百度地图、高德地图等都无法搜索到充电桩数据。这时候,搜狗地图对于部分电动车车主开始产生不可替代性。

    2. 开发者平台 POI 分类

    这儿稍微聊聊开发者平台的 POI 分类,很多App在开发过程中都需要地图的数据接入。对于开发者而言,他们看到的 POI 分类是这样的:

    百度地图、高德地图都用POI吸引你,不过它到底是什么?

    百度地图开放平台- POI 行业分类

    这个分类非常详细,一共有17个一级行业。而在高德的开放平台中,POI 类别甚至共分为20个大类,每个大类别还有二级以及三级的细小划分。开发者平台 POI 分类十分详细和严谨,关键点在于做到完全穷尽和相互独立。

    二、POI 设计中的细节分析

    首先问个问题,为什么地图产品中要加入 POI?POI 是地图的一个基本要素。在纸质地图中,我们就可以看到对于景点和酒店的标记。随着地图迁移到互联网中,POI 更是被不断完善。

    对用户而言,POI 的存在,能快速找到目的地,便捷出行;对厂商而言,增加用户的活跃时长,比如在百度地图中增加搜索美食功能,会相应减少跳离百度地图,转向大众点评的人数。对于在打造自己生态体系的公司而言,有利于实现产品的闭环,让用户在自己的体系类完成一整套动作。

    因此对于地图产品而言,除了导航之外,POI 是产品的核心功能。那么在已有产品中是如何设计的呢

    1. POI 入口设计

    这个前面已有提及。搜索框、首页按钮都是 POI 入口,用户想要找到十分简单。但是需要克服的一个难题是:如何让用户知道「我」能给用户提供这些?给用户提供千人千面的入口设计,结合大数据分析,在默认搜索框中前置用户最感兴趣的POI 。

    举个栗子:若是用户每天晚上的地理位置都相同,系统可在后台模糊判定这是用户的家,则在搜索框中,默认的搜索提示则可变更为:超市、快递、银行、美食等。

    现在打开高德地图,在搜索框中,默认推荐如下图。呆在熟悉的家中,且从来没开过车的我,一年几乎都不会有搜索酒店、景点、加油站的需求。

    百度地图、高德地图都用POI吸引你,不过它到底是什么?

    2. POI 搜索结果展示设计

    以搜索景区为例,各个地图 App 在结果页中,单个列表元素的展示要素如下:

    百度地图、高德地图都用POI吸引你,不过它到底是什么?

    在结果列表元素中,应当首先展示用户关注及影响决策的信息。在决定去一个景区浏览之前,用户会关注景点离自己距离、票价、景点的评价等。在这方面,百度地图和高德地图做的不错。

    对比高德和百度点评信息:两者同样会显示星级评价,不同的是高德显示评论数、排名和景区标签,百度显示景区标签和评论标签。高德这样做的好处在于,对于大部分用户而言,这些信息便可帮助决策,无需点开详情页,减少用户步长。

    另外,高德和搜狗地图,可直接在列表页点击「去这里/我要去」按钮,一键开始导航。百度地图和腾讯地图则要点选之后才可。

    百度地图、高德地图都用POI吸引你,不过它到底是什么?

    搜索结果展示页的核心在于两点:

    • 准确展示用户想要的信息,利用语义猜测,模糊词匹配提高搜索成功率。

    • 提供用户关注要素,尽可能在列表页帮助用户快速做出决策,导航前往。

    三、POI的玩法及更多可能性

    1. 全民 POI 数据众包

    之前曾在网上看到过一篇帖子,关于地图产品的街景采集。工作量非常大而且也很辛苦,需要投入大量人力物力来进行地图产品的维护。

    高德推出一款App,高德淘金。地图 POI 数据众包应用,用户通过客户端拍照对已发布的 POI 数据进行校验或新增,通过审核即可获得相应奖励。这个功能可以直接考虑内置地图产品的上报模块,增加一个功能为 POI 验证,即人人都是 POI 采集师。

    百度地图、高德地图都用POI吸引你,不过它到底是什么?

    2. 地图产品的商业闭环

    用户从拿起手机进行地点查询,到完成线下消费,线上支付,在地图产品中形成闭环。大部分用户拥有的消费习惯是:美食通过大众点评、酒店住宿通过去哪儿,地图产品只是一个指路工具,当达到目的地之后,便被放下。

    其实不然,地图产品有着天然的入口,尤其对于已经建成庞大生态体系的BAT而言。以百度地图为例,在百度地图中搜索到的餐饮店,若支持百度糯米,则可直接在百度地图中完成代金券的购买/支付。

    作为一个地图工具,应当拥有的志向是:为用户提供全面而有用的位置信息,帮助用户轻松完成出门所需的路线规划,正确抵达目的地,途中适时为用户提供其所需要的生活服务,形成商业闭环。

    最近也是无意之中了解到原来地图中那些周边推荐叫做POI,觉得很有意思。善用地图,你会发现,原来自己并不是路痴,只是不会用地图而已。关于地图产品中的POI设计先聊到这儿~

    展开全文
  • POI的基本使用

    2020-04-08 15:34:02
    1.什么是POI Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 HSSF - 提供读写Excel格式文档的功能 本文通过读写Excel格式文档来讲解POI的基本...

    一、POI简介

    1.什么是POI

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。

    • HSSF - 提供读写Excel格式文档的功能

    本文通过读写Excel格式文档来讲解POI的基本使用

    2、Excel导入导出的应用场景

    1. 数据导入:减轻录入工作量
    2. 数据导出:统计信息归档
    3. 数据传输:异构系统之间数据传输

    二、利用POI实现读写Excel

    1.创建项目

    创建一个普通的maven项目,在pom中引入相关依赖

    	<dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.9</version>
        </dependency>
    
    	<dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    

    2.写一个单元测试方法

    @Test
    public void testWrite() throws IOException{
    		// 创建新的Excel 工作簿
            Workbook workbook = new HSSFWorkbook();
            
            // 在Excel工作簿中建一工作表,其名为缺省值 Sheet0
            //Sheet sheet = workbook.createSheet();      
            // 如要新建一名为"会员登录统计"的工作表,其语句为:
            Sheet sheet = workbook.createSheet("会员登录统计");
    
            // 创建行(row 1)
            Row row1 = sheet.createRow(0);
    
            // 创建单元格(col 1-1)
            Cell cell11 = row1.createCell(0);
            cell11.setCellValue("今日人数");
    
            // 创建单元格(col 1-2)
           Cell cell12 = row1.createCell(1);
            cell12.setCellValue("统计时间");
            
            // 创建行(row 2)
            Row row2 = sheet.createRow(1);
            
            // 创建单元格(col 2-1)
            Cell cell21 = row2.createCell(0);
            cell21.setCellValue(666);
            
            //创建单元格(col 2-2)
            Cell cell22 = row2.createCell(1);
            String dateTime = new DateTime().toString("yyyy-MM-dd HH:mm:ss");
            cell22.setCellValue(dateTime);
            
            // 新建一输出文件流(注意:要先创建文件夹)
            FileOutputStream out = new FileOutputStream("d:/excel-poi/test.xls");
            // 把相应的Excel 工作簿存盘
            workbook.write(out);
    
            // 操作结束,关闭文件
            out.close();
    
    }
    

    2.Excel读

    	@Test
        public void testRead() throws Exception{
    
            InputStream in = new FileInputStream("d:/excel-poi/test.xls");
    
            Workbook workbook = new HSSFWorkbook(in);
    
            Sheet sheet = workbook.getSheetAt(0);
            // 读取第二行第一列
            Row row = sheet.getRow(1);
            Cell cell = row.getCell(0);
         	// 输出单元内容
         	//cell.getStringCellValue()读字符串
         	//cell.getNumericCellValue()读数字
       		System.out.println(cell.getNumericCellValue());
       		
       		 // 读取第二行第二列
       		Cell cell2 = row.getCell(1);
       		//cell.getDateCellValue()读布尔
    		//cell.getDateCellValue()读日期
    		Date date = cell2.getDateCellValue();
    		System.out.println(date);
            in.close();
    
        }
    
    展开全文
  • java Poi基础(一)

    万次阅读 2019-01-13 17:25:14
    1.1什么是poi: Apache POI [1] 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意...

    1Poi简介:

    1.1什么是poi:

    Apache POI [1]  是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“简洁版的模糊实现”。

    1.2poi结构:

    HSSF [1]  - 提供读写Microsoft Excel XLS格式档案的功能。

    XSSF [1]  - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。

    HWPF [1]  - 提供读写Microsoft Word DOC格式档案的功能。

    HSLF [1]  - 提供读写Microsoft PowerPoint格式档案的功能。

    HDGF [1]  - 提供读Microsoft Visio格式档案的功能。

    HPBF [1]  - 提供读Microsoft Publisher格式档案的功能。

    HSMF [1]  - 提供读Microsoft Outlook格式档案的功能。

    这些都是poi提供的一些包

    1.3:下载地址

    这个是最新的jar包,4.0的

    https://www.apache.org/dyn/closer.lua/poi/release/bin/poi-bin-4.0.0-20180907.tar.gz

    还有源码包的下载

    https://www.apache.org/dyn/closer.lua/poi/release/src/poi-src-4.0.0-20180907.tar.gz

    下载点击这个

    下载点击

    2.poi基础

    2.1.1新建一个表格

    首先要将下载好的jar包,解压将根目录下的所有包,以及将lib目录下的commons-logging-1.2.jar

    和junit-4.12.jar以及log4j-1.2.17.jar这三个通用包导入到项目的lib的目录下,poi-4.0.0.jar包是最

    重要的。

    public static void main(String[] args) throws IOException {//这里将异常上抛方便阅读和理解
    /**
    	 * 多态实现
    	 * HSSFWorkbook  是对于xls进行操作
    	 */
    	Workbook wb=new HSSFWorkbook();//新建一个工作簿
    	/**
    	 * 导出所以用到输出流
          *参数为输出的地址
    	 */
    	FileOutputStream fout=new FileOutputStream("E:\\Demo\\poi.xls");
    	wb.write(fout);//Workbook提供了write的方法
    	fout.close();//将输出流关闭
    
    }

    2.1.2新建sheet页

    在新建工作簿的基础上新建sheet页,wb.createSheet() 返回一个Sheet()如果不进行操作不用接收

    这里省略了main方法

    /**
    	 * 多态实现
    	 * HSSFWorkbook  是对于xls进行操作
    	 */
    	Workbook wb=new HSSFWorkbook();//新建一个工作簿
    	/**
    	 * 导出所以用到输出流
    	 */
    	FileOutputStream fout=new FileOutputStream("E:\\Demo\\poi.xls");
    	/**
    	 * 有有参和无参数两种
    	 * 参数为sheet页的名字
    	 * 不写参数默认名字为sheet0到n
    	 */
    	Sheet sheet1 = wb.createSheet();//创建一个sheet页
    	Sheet sheet2 = wb.createSheet("第二个sheet页");//创建第二个sheet页
    	wb.write(fout);
    	fout.close();//将输出流关闭

    2.1.3新建行和列

    创建行要在sheet页的基础上,单元格在行的基础上创建,每一行一个行对象Row

    对于单元格赋值cell对象setCellValue()就可以,而且行和单元格的创建都从0 开始

    列的值可以设置的类型也比较多样 int  double  String boolean  Date 等都是可以的

    Workbook wb=new HSSFWorkbook();//新建一个工作簿
    	FileOutputStream fout=new FileOutputStream("E:\\Demo\\poi.xls");
    	Sheet sheet= wb.createSheet("第一个sheet页");//创建一个sheet页
    	Row row=sheet.createRow(0); // 创建一个行 第一行
    	Cell cell=row.createCell(0); // 创建一个单元格  第1列
    	/**
    	 * 给单元格设置值
    	 *值类型可以为int  double  String boolean  
    	 *还有Date等
    	 */
    	cell.setCellValue(1);
    	row.createCell(1).setCellValue(1.2);//创建第一行第二个单元格
    	row.createCell(2).setCellValue("这是一个单元格");//创建第一行第三个单元格
    	row.createCell(3).setCellValue(false);//创建第一行第四个单元格
    	/**
    	 * HSSFCell一些静态常量
    	 * short类型和int类型
    	 */
    	row.createCell(4).setCellValue(HSSFCell.ENCODING_COMPRESSED_UNICODE);
    	/**
    	 * 第二个行  每一行需要一个行对象
    	 * 所以需要保存一个行对象
    	 */
    	Row row1 = sheet.createRow(1);
    	row1.createCell(0).setCellValue("第二行第一列");
    	row1.createCell(1).setCellValue(true);
    	row1.createCell(2).setCellValue("第二行第三列");
    	row1.createCell(3).setCellValue("第二行第四列");
    	wb.write(fout);//输出
    	fout.close();

    2.1.4时间格式的单元格

    由于很多代码都是重复的也出现了多次我在这,也就不写在笔记里了,只摘取了关键部分

    CreationHelper  一个小工具类,使用工作簿创建Workbook getCreationHelper()

    CellStyle  单元格的样式类,也是使用Workbook创建createCellStyle()

    Row row=sheet.createRow(0); // 创建一个行 第一行
    	Cell cell=row.createCell(0); // 创建一个单元格  第1列
    	cell.setCellValue(new Date());
    	/**
    	 * 小工具 
    	 * 使用工作簿获取
    	 */
    	CreationHelper  creationHelper=wb.getCreationHelper();
    	/**
    	 * 单元格样式类 
    	 * 使用工作簿Workbook创建
    	 */
    	CellStyle  cellStyle=wb.createCellStyle();
    	/**
    	 * 设置时间的显示格式
    	 */
    	cellStyle.setDataFormat(creationHelper.createDataFormat().getFormat("yyyy-mm-dd :hh:mm:ss"));
    	cell=row.createCell(1);//创建第二列
    	cell.setCellValue(new Date());
    	/**
    	 * 设置单元格的格式
    	 */
    	cell.setCellStyle(cellStyle);
    	/**
    	 * 第三列和第二列的效果是一样的
    	 */
    	cell=row.createCell(2);//创建第三列
    	/**
    	 * Calendar 日历类 也可以用来获取时间
    	 */
    	cell.setCellValue(Calendar.getInstance());
    	cell.setCellStyle(cellStyle);

    剩下的内容将在下面的博客持续更新,有什么问题的地方欢迎大家指正,大家共同进步

    剩下的知识大家可以去看https://blog.csdn.net/yjt520557/article/details/83119000里面只是图片没有

    展开全文
  • poi什么

    万次阅读 2016-11-09 22:00:18
    这个时候就用到了我们的poi。  通俗的讲,poi就是批量的操作文件或数据的导入以及导出。批量的操作,哈!听着就爽!看起来挺牛的!可能就有很多人会说,这会不会很难?我在这里可以明确的告诉大家,这是一项既简单...
  • 什么是POI

    千次阅读 2014-10-13 23:48:26
    由于工作的关系,经常在文件中会看到POI这三个字母的缩写,但是一直对POI的概念和含义没有很详细的去研究其背后代表的意思。今天下班之前,又看到了POI这三个字母,决定认认真真的搜索一些POI具体的含义。 POI是...
  • poi简介与简单使用

    万次阅读 多人点赞 2020-06-22 11:31:06
    POI是Apache软件基金会用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“简洁版的...
  • [JAVA]POI各Jar包的作用

    万次阅读 多人点赞 2014-09-04 16:03:11
    目前POI的最新发布版本是3.10_FINAL.该版本保护的jar包有: Maven artifactId Prerequisites JAR poi commons-logging, commons-codec, log4j poi-version-yyyymmdd.jar poi-...
  • poi的各个版本

    万次阅读 2015-12-22 15:17:10
    目前POI的最新发布版本是3.10_FINAL.该版本保护的jar包有: Maven artifactId Prerequisites JAR poi commons-logging, commons-codec, log4j poi-version-yyyymmdd.jar poi...
  • 最近项目需要导出Excel表功能,研究了好多,最后决定用阿帕奇的POI;  使用maven导入jar包时,发现POI有好多jar包,顿时不知应该导入那个,如果全部导入,使用应该没问题,但个人癖好是,用的导入,多余的不留,所以,又去官网...
  • maven导入poi配置

    万次阅读 2016-05-05 17:11:40
    org.apache.poi  poi-ooxml  3.9
  • 就如图中hwpf始终报红,不知道什么原因,poi的依赖也导了的,如图 最后发现原来是少导了,不说idea 的maven项目会自动导相关依赖吗,好坑 我也是看了这个图才明白的,希望对大家有帮助,最后导入poi-scratchpad...
  • 通过maven引入POI

    万次阅读 2018-05-25 09:42:57
    org.apache.poi&lt;/groupId&gt; &lt;artifactId&gt;poi&lt;/artifactId&gt; &lt;version&gt;3.17&lt;/version&gt; &lt;/dependency&gt; 则无XSSF
  • poi 单元格内容换行

    万次阅读 2016-02-23 10:43:44
    1.设置单元格内容自动换行HSSFCellStyle cellStyle=workbook.createCellStyle(); cellStyle.setWrapText(true); cell.setCellStyle(cellStyle); 2....// 文本中添加换行标志 String cnt = "cnt" + "\r\n
  • POI各种jar包作用和导入

    万次阅读 2016-05-24 13:52:01
    目前POI的最新发布版本是3.10_FINAL.该版本保护的jar包有: Maven artifactId Prerequisites JAR poi commons-logging, commons-codec, log4j poi-version-yyyymmdd.jar poi-scratchpad
  • 处理excel文件一般使用poi,而使用maven引入poi的jar包如下: &amp;amp;lt;!-- https://mvnrepository.com/artifact/org.apache.poi/poi --&amp;amp;gt; &amp;amp;lt;dependency&amp;amp;gt; &...
  • POI的不同版本的兼容问题

    万次阅读 2018-12-18 11:14:21
    一个很老的系统用的是POI3.0.1版本,用来导出为excel 2003格式,系统中很多地方都在用。 最近需要扩展它支持导入excel 2007格式,就是所谓的OpenXml格式的Excel文件,后缀是xlsx。 直接把POI3.7的jar文件放到系统...
  • POI数据获取

    万次阅读 2017-03-03 15:18:50
    poi数据获取
  • Poi合并单元格后居中显示,大家帮忙看下我写的有什么问题,为什么居中显示不了,谢谢啦
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。... &nbsp;&nbsp; 最近项目需要导出Excel表功能,研究了好多,最后决定用阿帕奇的POI; &nbsp;&nbsp;&n...
1 2 3 4 5 ... 20
收藏数 84,506
精华内容 33,802
关键字:

poi是什么