- ?
快用它,让您的Excel数据在浏览器上飞起来
应乌
展开
SpreadJS在线Excel表格编辑器
概述
赋能开发者!为进一步帮助开发人员提高开发效率,充分发掘数据价值,葡萄城 SpreadJS 在线 Excel 表格编辑器应运而生,无需额外的学习成本,帮您快速搭建信息系统,高效提升企业数据管理水平。
这是一款能为您的 Web 应用节省大量财力和物力的开发工具,一经推出,即备受开发人员欢迎,被誉为“专为私人定制的在线 Excel”。
SpreadJS 在线 Excel 表格编辑器是什么?
葡萄城推出的 SpreadJS在线Excel 表格编辑器,是类似在线 Excel 的纯前端在线表格编辑程序,在功能和外观上都与 Excel 高度接近,也是 SpreadJS 纯前端电子表格控件桌面设计器的在线版本,提供源代码,您可自由定制,任意扩展。该产品内嵌了SpreadJS,使用离线和在线方式均可进行表格编辑。
三大亮点:
基于 Java/HTML5 的 Web 前端应用程序,不依赖任何配置库,提供了更高的渲染性能和更快的界面操作,轻松实现跨平台、跨操作系统,帮助用户方便流畅地载入和操作海量数据。
以“所见即所得”的设计思想,提供类 Excel 的用户体验,让用户能快速方便的设计自己的 Spread.Sheets 模板。
提供 Excel 纯前端导入/导出功能,可实现将设计产物保存至 Excel 格式或 SpreadJS 支持的项目文件。
SpreadJS在线Excel表格编辑器都有哪些客户在使用?
自面世以来,SpreadJS在线Excel 表格编辑器已经广泛应用于华为、中国民航飞行学院、中国平安、中国能建、中通等知名企业的项目开发。
SpreadJS在线Excel表格编辑器可以帮您解决什么难题?
作为葡萄城的明星控件,SpreadJS在线Excel 表格编辑器秉承“赋能开发者”企业理念,开放、包容、可自由定制、任意扩展。以敏捷开发为前提,助力企业破解:海量表格数据管理、安全操作表格数据和更方便流畅进行表格数据交互的三大难题。面向全球市场向客户提供覆盖软件产品研发各阶段的技术服务,助力企业专注于核心业务,在全球市场赢得先机。
关于葡萄城
葡萄城公司成立于1980年,是全球领先的集开发工具、商业智能解决方案、管理系统设计工具于一身的软件和服务提供商。西安葡萄城是其在中国的分支机构,面向全球市场提供软件研发服务,并为中国企业的信息化提供国际先进的开发工具、软件和研发咨询服务。
- ?
雨沐田:数据分析之Excel数据导入方法
浮浅
展开
之前的文章对数据分析基础做了归纳总结,对数据分析有了基本的识了解后,还是要多多的实践才可以,但不管怎么实践,总是需要数据才可以,没数据总是无米之炊,今天就说说数据准备。
既然在日常的工作中,Excel能解决绝大部分的问题,那就从Excel说起:
一、Excel导入文本数据
由于各种原因,在工作中我们可能会拿到很多文本数据,常见的就是txt格式的,为了方便处理,一般需要导入Excel,但前提是要有一定的规律才可以,如下面的数据就无法导入Excel表格(严格说是可以导入,但导入的数据依然无规律,无法直接有效使用):
同样表达一类信息,但有规律就可以导入Excel表格,如下格式,就可以轻松导入:
导入方法如下:
1、打开Excel,选择数据模块,在选择 [自文本] 子菜单:
2、选择文件所在位置后,弹出如下窗口:
3、保持默认选择“按分隔符号”,此时看到预览,数据并没有被切分开,点击下一步:
4、选择分割符号为逗号,此时看到预览,数据已经被正确切分,继续点击下一步:
5、此步骤不做修改,直接点击 [完成]。
6、数据被导入,如下图:
是不是非常方便,实际工作中,需要导入txt文本的情况还是比较多的,如一些系统的日志文件,或从其他库中导出的数据,或者手工按固定格式记录的数据等,通过Excel文本导入是非常方便的。
而且从第三步中可以看到,数据值之间的分隔符不一定是逗号,可以是任意字符或空格等,只要有相同的规律,就可以导入,可以多试试。
二、从网站导入Excel
还有一种常见情况是导入网页数据,特别是网页上的表格,这是采集外部数据的方法之一。
虽然网页上的数据很多是可以直接复制粘贴的,但如果网页右键被屏蔽或数据过大,直接复制总不是那么方便的,就需要如下的方法:
如我们要导入郭嘉统计局的数据:2017年9月中国制造业采购经理指数,网址如下:http://stats.gov/tjsj/zxfb/201709/t20170930_1539436.html
我想要导入如下图所示的表格数据:
操作步骤如下:
1、打开Excel,选择数据模块,再选择 [自网站] 子菜单:
2、在地址栏录入网址后,点击【转到】按钮,如下图
3、打开的网页中找到我们要导入的表格并选择,点击表格左上角的黄色箭头图标,并变成绿色,如下图所示:
4、点击导入,数据被导入Excel,如下图:
是不是非常方便呢,最最关键的是从网页导入的数据,还可以根据需要刷新,方法:点击数据模块菜单下的 [全部刷新] 按钮,就可以刷新导入的数据:
除了可以手工刷新还,还可以自动刷新数据,点击 [全部刷新] 菜单傍边的 [属性] 菜单,就可以设置是否自动刷新,具体操作请自行尝试。
以上2种方法,不仅仅是数据分析基础工作,也是日常工作都非常有用的方法,多多使用,让Excel这个牛X的工具发挥真真的价值!
关注公号「大数据分析狮」,学习数据分析,免费获取大数据分析百本电子书!
- ?
如何把excel数据导入navicat
卜珊珊
展开
在导出的Excel表中,手动的录入一些数据,然后将这个表导入到数据库中。
步骤1:运行【导入向导】,选择导入数据的类型
步骤2:选择文件数据源
步骤3:跳过。
步骤4:给源文件定义一些附加选项,前三个选项一定要填写正确,否则将不能完成正确的导入。
[栏位名行]:数据表字段所在的行位置
[第一个数据行]:导入的数据表中源数据是从第几行开始的
[最后一个数据行]:导入的数据表中源数据是从第几行结束的
步骤5:选择目标表,也可以新建一个表
步骤6:定义源栏位和目标栏位的对应关系,如果目标栏位设置了主键,在这一步中一定要勾选,否则也将无法正常导入数据
步骤7:选择导入模式,如果是新表,选择第一项。可以根据具体情况选择不同的选项。这里选择第三项。
步骤8:点击【开始】执行导入命令
执行完之后,去数据库验证一下:
(本文内容由百度知道网友茗童贡献)
- ?
利用workbench将excel数据导入到MySQL中
两相忘
展开
数据导入的方式(csv,txt之类)
在MySQL中,数据导入的方式有两种方式
通过第三方客户端导入(workbench)
通过mysql client 方式导入
通过mysql clinet的导入方式,相比第三方客户端导入的方式,效率会高点,但是类似workbench这种的,因为图形UI做的相对比较人性,研发人员在处理数据的过程中减少对指令的交互
具体操作方法 准备数据(csv准备)
当你的CSV数据准备好之后,需要有个点注意(由于导入容易碰到编码问题,所以在导入之前,需要使用notepade++将csv文件的编码转换成utf-8的编码方式[格式-->utf-8编码格式])然后保存 导入数据
1.选中你需要导入的库的项
2.选择需要导入的csv文件(也可以是json格式)
3.由于csv中的字段并不是完整是所有表的字段,故此我们在这里新创建一张表(建议是先创建一张跟要同步的表一样字段属性的表先)
4.留意导入的数据是否正确
5.一直点NEXT即可完成
总结
需要注意的是:如果使用workbench导入的时候,如果数据量不大,可以使用这种方式,如果数据量比较庞大,建议直接通过命令行的方式会高效,其中一个最明显的特征就是如果导入大量数据的CSV,在workbench导入的时候,可能会卡死或者桌面终端无法操作,从而导致导入失败
- ?
一行代码完成Java的Excel读写
於夜雪
展开
前段时间在 github 上发现了阿里的 EasyExcel 项目,觉得挺不错的,就写了一个简单的方法封装,做到只用一个函数就完成 Excel 的导入或者导。刚好前段时间更新修复了一些 BUG,就把我的这个封装分享出来,请多多指教。
附上源码:
https://github/HowieYuan/easyexcel-method-encapsulation
EasyExcel
EasyExcel 的 github 地址:
https://github/alibaba/easyexcel
EasyExcel 的官方介绍:
可以看到 EasyExcel 最大的特点就是使用内存少,当然现在它的功能还比较简单,能够面对的复杂场景比较少,不过基本的读写完全可以满足。
一. 依赖
首先是添加该项目的依赖,目前的版本是 1.0.2。
com.alibaba easyexcel 1.0.2 二. 需要的类
1. ExcelUtil
工具类,可以直接调用该工具类的方法完成 Excel 的读或者写。
2. ExcelListener
监听类,可以根据需要与自己的情况,自定义处理获取到的数据,我这里只是简单地把数据添加到一个 List 里面。
publicclassExcelListenerextendsAnalysisEventListener {//自定义用于暂时存储data。//可以通过实例获取该值private List
3. ExcelWriterFactroy
用于导出多个 sheet 的 Excel,通过多次调用 write 方法写入多个 sheet。
4. ExcelException
捕获相关 Exception。
三. 读取 Excel
读取 Excel 时只需要调用 ExcelUtil.readExcel() 方法:
@RequestMapping(value = "readExcel", method = RequestMethod.POST)public Object readExcel(MultipartFile excel) {return ExcelUtil.readExcel(excel, new ImportInfo());}
其中 excel 是 MultipartFile 类型的文件对象,而 new ImportInfo() 是该 Excel 所映射的实体对象,需要继承 BaseRowModel 类,如:
publicclass ImportInfo extends BaseRowModel {@ExcelProperty(index = 0)privateString name;@ExcelProperty(index = 1)privateString age;@ExcelProperty(index = 2)privateString email;publicString getName() {return name; }publicvoid setName(String name) {this.name = name; }publicString getAge() {return age; }publicvoid setAge(String age) {this.age = age; }publicString getEmail() {return email; }publicvoid setEmail(String email) {this.email = email; }}
作为映射实体类,通过 @ExcelProperty 注解与 index 变量可以标注成员变量所映射的列,同时不可缺少 setter 方法。
四. 导出 Excel
1. 导出的 Excel 只拥有一个 sheet
只需要调用 ExcelUtil.writeExcelWithSheets() 方法:
@RequestMapping(value = "writeExcel", method = RequestMethod.GET)publicvoidwriteExcel(HttpServletResponse response) throws IOException { List
list = getList(); String fileName = "一个 Excel 文件"; String sheetName = "第一个 sheet"; ExcelUtil.writeExcel(response, list, fileName, sheetName, new ExportInfo()); } fileName,sheetName 分别是导出文件的文件名和 sheet 名,new ExportInfo() 为导出数据的映射实体对象,list 为导出数据。
对于映射实体类,可以根据需要通过 @ExcelProperty 注解自定义表头,当然同样需要继承 BaseRowModel 类,如:
publicclass ExportInfo extends BaseRowModel {@ExcelProperty(value = "姓名" ,index = 0)privateString name;@ExcelProperty(value = "年龄",index = 1)privateString age;@ExcelProperty(value = "邮箱",index = 2)privateString email;@ExcelProperty(value = "地址",index = 3)privateString address;}
value 为列名,index 为列的序号。
如果需要复杂一点,可以实现如下图的效果:
对应的实体类写法如下:
publicclass MultiLineHeadExcelModel extends BaseRowModel {@ExcelProperty(value = {"表头1","表头1","表头31"},index = 0)privateString p1;@ExcelProperty(value = {"表头1","表头1","表头32"},index = 1)privateString p2;@ExcelProperty(value = {"表头3","表头3","表头3"},index = 2)private int p3;@ExcelProperty(value = {"表头4","表头4","表头4"},index = 3)private long p4;@ExcelProperty(value = {"表头5","表头51","表头52"},index = 4)privateString p5;@ExcelProperty(value = {"表头6","表头61","表头611"},index = 5)privateString p6;@ExcelProperty(value = {"表头6","表头61","表头612"},index = 6)privateString p7;@ExcelProperty(value = {"表头6","表头62","表头621"},index = 7)privateString p8;@ExcelProperty(value = {"表头6","表头62","表头622"},index = 8)privateString p9;}
2. 导出的 Excel 拥有多个 sheet
调用 ExcelUtil.writeExcelWithSheets() 处理第一个 sheet,之后调用 write() 方法依次处理之后的 sheet,最后使用 finish() 方法结束。
publicvoidwriteExcelWithSheets(HttpServletResponse response) throws IOException { List
list = getList(); String fileName = "一个 Excel 文件"; String sheetName1 = "第一个 sheet"; String sheetName2 = "第二个 sheet"; String sheetName3 = "第三个 sheet"; ExcelUtil.writeExcelWithSheets(response, list, fileName, sheetName1, new ExportInfo()) .write(list, sheetName2, new ExportInfo()) .write(list, sheetName3, new ExportInfo()) .finish();} write 方法的参数为当前 sheet 的 list 数据,当前 sheet 名以及对应的映射类。
扩展阅读
代码整洁之道|最佳实践小结
Javascript 将 HTML 页面生成 PDF 并下载
Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框
来源:https://juejin.im/post/5ba320546fb9a05d0b14304b
文章来源网络,版权归作者本人所有,如侵犯到原作者权益,请与我们联系删除
- ?
使用excel的数据导入功能
经山蝶
展开
如果说我们需要获取计算机内的文本文件的时候,我们除了使用超链接的和复制的方法,我们可以可以使用excel的数据导入功能,可以把文本文件直接导入到excel中直接转换成表格样式。
1、在 “客户资料统计” 工作簿中新建工作表, 并命名为 “北京永桦包装有限公司” 。
2、切换到 【数据】 选项卡, 在 【获取外部数据】 组中单击 【自文本】 按钮。
3、弹出【导入文本文件】对话框,找到文本文件“北京永桦包装有限公司” , 选择文件,单击【导入】按钮。
图1
4、弹出文本导入向导,在此可以预览文本文件,单击【下一步】按钮。
图2
5、选中 Tab 复选框, 单击【下一步】按钮。
图3
6、在弹出的 【导入文本向导-步骤 3】 对话框中单击【常规】单选按钮,单击【完成】按钮。
图4
7、弹出【导入数据】对话框,单击【现有工作表】单选按钮,单击【确定】按钮。
图5
8、txt文本信息已导入到excel工作表中。
图6
就通过以上的几个简单步骤我们就可以把txt转换成excel表格文件了,使用excel的数据导入功能,大大的节省了我们的工作时间,提高了我们excel工作效率。
- ?
整理关于java读取excel内容的例子供大家参考
赖雪珊
展开
1POI简介
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
2POI下载
poi下载地址:https://apache.org/dyn/closer.lua/poi/release/bin/poi-bin-3.17-20170915.tar.gz
下载之后把压缩包解压,然后在项目里面引用解压文件夹里面的jar
3新建java project,引入poi相关的jar
4创建一个java类,编写代码
package test;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class ReadExcel {
/**
* @param args
*/
@SuppressWarnings("resource")
public static void main(String[] args) {
try {
InputStream is = new FileInputStream(new File(
"D:/360bizhi/0_TITLE_CODE.xls"));
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
// 获取每一个工作薄
for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
if (hssfSheet == null) {
continue;
}
// 获取当前工作薄的每一行
for (int rowNum = 0; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
if (hssfRow != null) {
String title_id = String.valueOf(hssfRow.getCell(0));
// 读取第一列数据
String title_name = String.valueOf(hssfRow.getCell(1));
// 读取第二列数据
String title_name_en = String.valueOf(hssfRow
.getCell(2));
System.out.println("===============title_id:"
+ title_id + ",title_name:" + title_name
+ ",title_name_en:" + title_name_en);
} catch (Exception e) {
e.printStackTrace();
5运行main进行测试,查看打印结果
打印结果和xls里面的值是一样的,说明读取excel成功
请大家多多关注我的头条号,谢谢大家
- ?
集算器协助java处理多样性数据源之Excel
夏柳
展开
Java程序员读取和计算excel的程序一般要使用poi或其它开源包,这些开源包对编程的支持较为底层,整体学习成本和操作复杂度都很高。使用集算器辅助java处理excel文件就可以避免这些事务。
下面通过一个例子看一下具体作法:从Excel文件orders.xls中读取订单信息,找出2010年1月1日(含)之后,SELLERID等于18的订单。orders.xls的内容如下:
实现的思路是:用Java程序调用集算器脚本,读取和计算excel文件中的数据,之后将结果以ResultSet的方式返回给Java程序。由于集算器支持动态表达式解析和求值,使得Java程序可以像使用sql那样,灵活的处理数据。
首先,程序员可以将条件“2010年1月1日(含)之后,并且SELLERID等于18的订单。”作为参数where传递给esProc程序,如下图:
where是个字串,其值为:ORDERDATE>=date(2010,1,1) && SELLERID==18。
esProc的程序代码如下:
A2:按照条件过滤。这里使用宏来实现动态解析表达式,其中的where就是传入参数。集算器将先计算${…}里的表达式,将计算结果作为宏字符串值替换${…}之后解释执行。这个例子中最终执行的是:=A1.select(ORDERDATE>=date(2010,1,1) && SELLERID==18)。A1:定义一个file对象,导入excel数据。esProc的集成开发环境可以直观的显示出导入的数据,如上图右边部分。importxls函数也可以读写xlsx文件,它会根据文件扩展名自动判断excel的版本。
A3:将符合条件的结果集返回给java。如果需要将结果写入另外一个excel文件,只要将A3单元格改为:=file("D:/file/orders_result.xls").exportxls@t(A2)。
过滤条件发生变化时不用改变程序,只需改变where参数即可。例如,条件变为:2010年1月1日(含)之后,并且SELLERID等于18的订单,或者CLIENT等于PWQ的订单。Where的参数值可以写为:CLIENT=="PWQ"||ORDERDATE>=date(2010,1,1) && SELLERID==18。执行之后,A2中的结果集如下图:
在Java程序中使用esProc JDBC调用这段程序获得结果的代码如下:(将上述esProc程序保存为test.dfx):
//建立esProc jdbc连接
Class.forName("com.esproc.jdbc.InternalDriver");
con= DriverManager.getConnection("jdbc:esproc:local://");
//调用esProc程序(存储过程),其中test是dfx的文件名
com.esproc.jdbc.InternalCStatementst =(com.esproc.jdbc.InternalCStatement)con.prepareCall("call test(?)");
//设置参数
st.setObject(1,"ORDERDATE>=date(2010,1,1) && SELLERID==18 || CLIENT==\"PWQ\"");//执行esProc存储过程
ResultSet set =st.executeQuery();
对于代码较简单的脚本,还可以把代码直接写在调用集算器JDBC的Java程序中,而不必专门编写脚本文件(test.dfx):
ResultSet set = st.executeQuery(
"=file(\"D:/file/orders.xls\").importxls@t().select(ORDERDATE>=date(2010,1,1) && SELLERID==18 || CLIENT==\"PWQ\")");
这段Java代码直接调用了集算器的一句脚本:从Excel文件中取得数据,并按照指定的条件过滤。
- ?
SpreadJS ExcelIO实现服务器端Excel导入导出
慕卉
展开
SpreadJS在V10版本后推出了纯前端的Excel导入导出,这个功能可以很方便的实现客户端的Excel导入导出,但是如果用户需要导入导出到浏览器端又该怎么办呢?其实纯前端的Excel导入导出同样可以实现服务器端的Excel导入导出。下面让我们来看一下是如何实现的:
本示例的后端使用JAVA语言,通过SpreadJS的前端导出导出与JAVA后端结合,实现分从服务器端导入Excel与导出Excel保存至服务器端这两个功能:
从服务器端导入Excel:
这部分使用纯前端实现,纯前端实现有一个弊端就是,浏览器没有权限访问服务器上工程目录以外的路径,所以需要将服务器端的Excel放入工程目录下。然后下载到前端直接打开,核心代码如下:
导出Excel保存至服务器端:
这部分使用前端导出功能与后端java结合的方式来实现,首先通过前端Excel导出,生成导出文件,然后通过formdata来承载导出文件,之后通过ajax将formdata传至后端java。后端java使用文件操作将文件保存至服务器端。
这里有以下需要注意的地方:
formdata没有办法改变enctype,而我们需要的用entype为multipart/form-data类型的form来承载导出文件。这里需要在jsp页面上创建一个空的form,并将其entype设置为multipart/form-data:
之后js中只需要初始化一个该form的formdata实例即可:
var fd = new FormData(document.forms.namedItem("myform"));
以上就是核心的部分代码以及原理。
了解更多
SpreadJS是 Spread 表格开发系列产品之一。该产品是葡萄城公司出品的一系列功能和 Excel 类似的表格工具,支持桌面、Web 和移动平台开发,用于在应用系统中实现 Excel 导入导出、表格数据录入和编辑等交互功能,并提供灵活的定制能力和丰富的数据可视化效果。
Spread 是目前市面上最接近 Excel 的表格开发工具,无论是界面、函数还是布局,都与 Excel 高度接近,正被华为、东软、中国平安、河海大学、中通快递、普华永道、魔方网表、思源软件等企业应用于项目开发中。
除了纯前端的SpreadJS,该系列产品还包括 .NET 平台可用的Spread Studio,和服务器端批量操作Excel的Spread表格组件,敬请登陆官网了解更多:http://gcpowertools/
关于葡萄城
葡萄城成立于1980年,是全球最大的控件提供商,世界领先的企业应用定制工具、企业报表和商业智能解决方案提供商,为超过75%的全球财富500强企业提供服务。葡萄城于1988年在中国设立研发中心,在全球化产品的研发过程中,不断适应中国市场的本地需求,并为软件企业和各行业的信息化提供优秀的软件工具和咨询服务。
- ?
Java实现文件批量导入导出实例(兼容xls,xlsx)
Walkom
展开
1、介绍
java实现文件的导入导出数据库,目前在大部分系统中是比较常见的功能了,今天写个小demo来理解其原理,没接触过的同学也可以看看参考下。
目前我所接触过的导入导出技术主要有POI和iReport,poi主要作为一些数据批量导入数据库,iReport做报表导出。另外还有jxl类似poi的方式,不过貌似很久没跟新了,2007之后的office好像也不支持,这里就不说了。
2、POI使用详解
2.1 什么是Apache POI?
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
2.2 POI的jar包导入
本次讲解使用maven工程,jar包版本使用poi-3.14和poi-ooxml-3.14。目前最新的版本是3.16。因为3.15以后相关api有更新,部分操作可能不一样,大家注意下。
2.3 POI的API讲解
2.3.1 结构
HSSF - 提供读写Microsoft Excel格式档案的功能。XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。HWPF - 提供读写Microsoft Word格式档案的功能。HSLF - 提供读写Microsoft PowerPoint格式档案的功能。HDGF - 提供读写Microsoft Visio格式档案的功能。
2.3.2 对象
本文主要介绍HSSF和XSSF两种组件,简单的讲HSSF用来操作Office 2007版本前excel.xls文件,XSSF用来操作Office 2007版本后的excel.xlsx文件,注意二者的后缀是不一样的。
HSSF在org.apache.poi.hssf.usermodel包中。它实现了Workbook 接口,用于Excel文件中的.xls格式
常用组件:HSSFWorkbook excel的文档对象HSSFSheet excel的表单HSSFRow excel的行HSSFCell excel的格子单元HSSFFont excel字体HSSFDataFormat 日期格式HSSFHeader sheet头HSSFFooter sheet尾(只有打印的时候才能看到效果)样式:HSSFCellStyle cell样式辅助操作包括:HSSFDateUtil 日期HSSFPrintSetup 打印HSSFErrorConstants 错误信息表
XSSF在org.apache.xssf.usemodel包,并实现Workbook接口,用于Excel文件中的.xlsx格式
常用组件:XSSFWorkbook excel的文档对象XSSFSheet excel的表单XSSFRow excel的行XSSFCell excel的格子单元XSSFFont excel字体XSSFDataFormat 日期格式和HSSF类似;
2.3.3 两个组件共同的字段类型描述
其实两个组件就是针对excel的两种格式,大部分的操作都是相同的。
2.3.4 操作步骤
以HSSF为例,XSSF操作相同。
首先,理解一下一个Excel的文件的组织形式,一个Excel文件对应于一个workbook(HSSFWorkbook),一个workbook可以有多个sheet(HSSFSheet)组成,一个sheet是由多个row(HSSFRow)组成,一个row是由多个cell(HSSFCell)组成。
3、代码操作
3.1 效果图
惯例,贴代码前先看效果图
Excel文件两种格式各一个:
代码结构:
导入后:(我导入了两遍,没做校验)
导出效果:
3.2 代码详解
这里我以Spring+SpringMVC+Mybatis为基础
Controller:
Service
3.3 导出文件api补充
大家可以看到上面service的代码只是最基本的导出。
在实际应用中导出的Excel文件往往需要阅读和打印的,这就需要对输出的Excel文档进行排版和样式的设置,主要操作有合并单元格、设置单元格样式、设置字体样式等。
3.3.1 单元格合并
使用HSSFSheet的addMergedRegion()方法
参数CellRangeAddress 表示合并的区域,构造方法如下:依次表示起始行,截至行,起始列, 截至列
3.3.2 设置单元格的行高和列宽
3.3.3 设置单元格样式
1、创建HSSFCellStyle
2、设置样式
3、将样式应用于单元格
3.3.4设置字体样式
1、创建HSSFFont对象(调用HSSFWorkbook 的createFont方法)
2、设置字体各种样式
3、将字体设置到单元格样式
大家可以看出用poi导出文件还是比较麻烦的,等下次在为大家介绍下irport的方法。
导出的api基本上就是这些,最后也希望上文对大家能有所帮助。
学习Java的同学注意了!!!学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群495273252,我们一起学Java!
java实现excel数据导入
-
1、只需3秒快速实现求和
-
2、如何快速填充序号
-
3、如何自动填充序号(公式法)
-
4、数据条的神奇应用
-
5、多文本快速合并
-
6、查找与替换的不同玩法
-
7、快速定位到指定区域
-
8、数据排序、工资条制作
-
9、快速筛选(模糊、精确筛选)
-
10、快速插入空行
-
11、快速删除空行
-
12.快速跳转到天涯海角
-
13、.同时查看两个Excel文件
-
14、用条件格式扮靓报表
-
15、一键插入Excel图表
-
16、批量处理行高、列宽
-
17、利用拆分功能查看数据
-
18、批量录入相同内容
-
19、工作表快速跳转
-
20、批量录入表格模板(精品课程)
-
21、Excel函数与公式的应用、公式循环引用的查找
-
22、IF函数单条件判断同比增长
-
23、用sum函数 格式相同,连续多表数据汇总
-
24、excel快捷键
-
25、VLOOKUP函数——根据销售员匹配销售额
-
26、统计各部门销售总额
-
27、统计指定条件个数
-
28、怎样输入当前日期和时间、星期数
-
29、销售业绩排名
-
30、Sumproduct函数-万能函数(销售额汇总求和)
-
31、根据销售员,地区,商品名称汇总
-
32、批量替换PPT字体
-
33、给销售额数据批量添加万元单位
-
34、一秒快速核对两列数据
-
35、快速定位到指定单元格或区域
-
36、快速制作双行标题工资条
-
37、给你的表格做个瘦身
-
38、快速打开常用的Excel文件
-
39、快速打开多个Excel文件
-
40、利用创建组—快速隐藏/展开多列数据
-
41、快速制作下拉菜单
-
42、复制粘贴表格,如何保留数据源列宽格式一致?
-
43、两列数据位置互换
-
44、1秒钟扮靓报表——如何实现表格隔行换色
-
45、快速删除重复记录——保留唯一值
-
46、快速向下填充、向右填充,文本或公式
-
47、给Excel文件添加密码
-
48、插入带图片的批注
-
49、输入公式后不计算?
-
50、如何设置单元格缩进
-
51、快速解决Excel表格总显示货币格式
-
52、批量添加万元单位
-
53、你会四舍五入么?
-
54、用RAND函数机选彩票
-
55、冻结首行你会么?
-
56、超链接的高级应用
-
57、IFERROR函数-屏蔽错误值
-
58、批量填充颜色
-
59、录入数据
-
60、快速输入工号
-
61、快速行列转置
-
62、自定义缩放界面
-
63、多个单元格同时输入
-
64、如何计算立方米?
-
65、快速制作双行标题工资条
-
66、输入带方框的√和×
-
67、快速将姓名对齐
-
68、快速输入性别
-
69、按单位职务排序
-
70、自动计算合同到期日期
-
71、计算时间间隔
-
72、日期和时间的拆分
-
73、快速处理不规范的日期格式
-
74、快速填充合并单元格
-
75、效率加倍的快捷键
-
76、快速复制表格和对象
-
77、快速创建工作表副本
-
78、快速复制序列号
-
79、快速显示公式
-
80、多个单元格同时输入
-
81、快速调整显示比例
-
82、快速自动填充
-
83、快速填充(Ctrl+E)
-
84、Ctrl与数字键结合
-
85、快速将多列数据整理为1列
-
86、快速将1列数据拆分为多列
-
87、快速定位公式
-
88、快速录入数据
-
89、快速累计求和
-
90、身份证号码显示为0怎么办?
-
91、快速制作斜线表头
-
92、文本竖向显示
-
93、神奇的监视窗口
-
94、不一样的格式刷
-
95、快速美化图表
-
96、快速生成当前日期
-
97、快速找出循环引用
-
98、快速提取信息
-
99、二维表快速转换为一维表
-
100、快速多表合并