Java使用POI插件将数据以excel形式备份
将数据以表格形式进行备份
(1)导入poi的jar包
放入lib下: WebRoot\WEB-INF\lib\poi-3.2-FINAL-20081019.jar
下载链接:https://github.com/DFX339/POI_Plugin.git
(2)StringBuffer转换为二维数组
//定义一个StringBuffer,以 \r\n 分一维数组,以 \t 分二维数组
StringBuffer strff = new StringBuffer("姓名\t年龄\t性别\r\n小仙女\t18\t女\r\n");
//将StringBuffer数据转换为一维数组:按行记录区分
Object[] dataLine = strff.toString().split("\r\n"); //定义二维数组,将stringBuffer类型的数据转换为二维数组
Object[][] data = new Object[dataLine.length][];
for(int i=0; i<dataLine.length; i++)
{
//将行数据根据\t拆分,赋值到一维数组的各个列中
data[i] = dataLine[i].toString().split("\t");
}
(3)使用示例一:(容易理解些)
这里会将数据以表格的形式输出,并且数据保存在 F盘下的 123.xls文件 中。
package testPoi; import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; 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; public class ExportExcel { public static void main(String[] args) throws FileNotFoundException, IOException {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("table"); //创建table工作薄
Object[][] datas = {{"区域", "总销售额(万元)", "总利润(万元)简单的表格"}, {"江苏省" , 9045, 2256}, {"江苏省" , 9045, 2256}, {"广东省", 3000, 690}};
HSSFRow row;
HSSFCell cell;
for(int i = 0; i < datas.length; i++) {
row = sheet.createRow(i);//创建表格行
for(int j = 0; j < datas[i].length; j++) {
cell = row.createCell(j);//根据表格行创建单元格
cell.setCellValue(String.valueOf(datas[i][j]));
}
}
wb.write(new FileOutputStream("f:/123.xls"));
System.out.println("hello poi");
} }
(4)使用示例二:
注:这里的数据内容 strff 里面的数据格式类似这种: 111\t222\t333\t444\r\n555\t666\t777\t888r\n
转换为excel数据为:111 222 333 444
555 666 777 888
/**
* 将txt类型的数据转换为xls所需数据类型
* @param strff 文件中的数据内容
* @param fileName1 :文件名
* @param filePath :文件路径
* @return
* @throws ApplicationException
* @throws FileNotFoundException
* @throws IOException
*/
public HSSFWorkbook txtData_To_XlsData(StringBuffer content,String fileName,String filePath)
throws ApplicationException
{
try{
// logger.info("进入xls数据备份");
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("table"); //创建table工作薄
HSSFRow row; //定义table表中的行
HSSFCell cell; //定义table表中的列 //将StringBuffer数据转换为一维数组:按行记录区分
Object[] dataLine = content.toString().split("\r\n"); //定义二维数组,将stringBuffer类型的数据转换为二维数组
Object[][] data = new Object[dataLine.length][];
for(int i=0; i<dataLine.length; i++)
{
//将行数据根据\t拆分,赋值到一维数组的各个列中
data[i] = dataLine[i].toString().split("\t");
} logger.info("开始xls数据备份");
for(int i = 0; i < data.length; i++) {
row = sheet.createRow(i);//创建表格行
for(int j = 0; j < data[i].length; j++) {
cell = row.createCell(j);//根据表格行创建单元格
cell.setCellValue(String.valueOf(data[i][j]));
}
}
// logger.info("开始xls数据备份,写入文件");
wb.write(new FileOutputStream(filePath+fileName));
// logger.info("开始xls数据备份,写入结束");
return wb;
}catch(FileNotFoundException e){
logger.error((new StringBuilder("备份数据异常:文件不存在")).append(e).toString());
throw new ApplicationException(e.getMessage());
} catch (IOException e) {
logger.error((new StringBuilder("备份数据异常:IOException")).append(e).toString());
throw new ApplicationException(e.getMessage());
}
}
Java使用POI插件将数据以excel形式备份的更多相关文章
- PHP中导出Excel,将数据以Excel形式导出
现在,很多地方都需要导出数据,这里说一种简单的方法将数据以Excel的形式导出,方法如下: <?php date_default_timezone_set('PRC');//设置时区 /*设置h ...
- 数据以Excel形式导出导服务器,再将文件读取到客户端另存 以HSSFWorkbook方式实现
public void exportExcel(List<P2pInfo> repayXist,HttpServletRequest request,HttpServletResponse ...
- java的poi技术读取和导入Excel实例
本篇文章主要介绍了java的poi技术读取和导入Excel实例,报表输出是Java应用开发中经常涉及的内容,有需要的可以了解一下. 报表输出是Java应用开发中经常涉及的内容,而一般的报表往往缺乏通用 ...
- java的poi技术读,写Excel[2003-2007,2010]
在上一篇blog:java的poi技术读取Excel[2003-2007,2010] 中介绍了关于java中的poi技术读取excel的相关操作 读取excel和MySQL相关: java的poi技术 ...
- Java将数据以Excel文件形式导出后台代码实现
下面代码实现所需jar包: tomcat-embed-core-8.5.11.jar: commons-lang3-3.0.1.jar: commons-io-2.5.jar: poi-3.9.jar ...
- java的poi技术读取和导入Excel
项目结构: http://www.cnblogs.com/hongten/gallery/image/111987.html 用到的Excel文件: http://www.cnblogs.com/h ...
- java使用poi包将数据写入Excel表格
1.Excel相关操作代码 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcept ...
- 使用POI插件,提取导出excel的工具类
在网站的不同的模块都需要使用到导入导出excel的功能,我们就需要写一个通用的工具类ExcelUtil. 我的思路:首先,导入和导出的Excel的文件格式固定:主标题,二级标题,数据行(姑且就这么叫) ...
- java使用POI解析2007以上的Excel表格
来自http://hao0610.iteye.com/blog/1160678 使用poi来解析Excel的xls和xlsx. 解析xls: package xls; import java.io.F ...
随机推荐
- LRU缓存机制
运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制.它应该支持以下操作: 获取数据 get 和 写入数据 put . 获取数据 get(key) - 如果密钥 (key) 存 ...
- Mongodb脚本记录
mongoexport -h -d stat_terminalbase -c stat_terminalbase -f terminal_mac,detect_time,site_id,device_ ...
- xpath是什么(入门教程)
xpath是什么(入门教程) 一.总结 一句话总结:一句话,XPath 是一门在 XML 文档中查找信息的语言.简单来说,html类似于xml结构,但是没有xml格式那么严格. 在xml中查找信息 包 ...
- HeadFirst Ruby 第九章总结 mixins & modules
前言 如果想要复用 method, 可用的方法是针对 Class 的 inheritance,但是, inheritance has its limitations,它的缺点有: 只能 inhert ...
- JavaScript 第十章总结:first class functions
前言 这一章的内容是 advanced knowledge and use of functions. 讲了关于 function 的使用的一些特殊的方面. function expression 的 ...
- 雷林鹏分享:jQuery EasyUI 数据网格 - 添加分页组件
jQuery EasyUI 数据网格 - 添加分页组件 本实例演示如何从服务器端加载数据,如何添加分页组件(pagination)到数据网格(datagrid). 创建数据网格(DataGrid) 为 ...
- LeetCode--235--二叉树的最近公共祖先
问题描述: 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结点 x,满足 x 是 p.q 的 ...
- BFS+二进制状态压缩 hdu-1429
好久没写搜索题了,就当练手吧. vis[][][1025]第三个维度用来维护不同key持有状态的访问情况. 对于只有钥匙没有对应门的位置,置为'.',避免不必要的状态分支. // // main.cp ...
- Confluence 6 如何让我的小组成员知道那些内容是重要的
如果你的 Confluence 中已经有了很多内容,定义那些内容是重要看起是一件艰巨的任务 —— 但是下面的一些特性能够帮助你的小组确定那些内容是他们应该关心的. 我的空间(My Spaces) 添加 ...
- linux搭建DHCP
动态主机配置协议(DHCP,Dynamic Host Configuration Protocol),该协议用于自动管理局域网内主机的IP地址.子网掩码.网关地址及DNS地址等参数,可以有效地提升IP ...