将数据以表格形式进行备份

(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形式备份的更多相关文章

  1. PHP中导出Excel,将数据以Excel形式导出

    现在,很多地方都需要导出数据,这里说一种简单的方法将数据以Excel的形式导出,方法如下: <?php date_default_timezone_set('PRC');//设置时区 /*设置h ...

  2. 数据以Excel形式导出导服务器,再将文件读取到客户端另存 以HSSFWorkbook方式实现

    public void exportExcel(List<P2pInfo> repayXist,HttpServletRequest request,HttpServletResponse ...

  3. java的poi技术读取和导入Excel实例

    本篇文章主要介绍了java的poi技术读取和导入Excel实例,报表输出是Java应用开发中经常涉及的内容,有需要的可以了解一下. 报表输出是Java应用开发中经常涉及的内容,而一般的报表往往缺乏通用 ...

  4. java的poi技术读,写Excel[2003-2007,2010]

    在上一篇blog:java的poi技术读取Excel[2003-2007,2010] 中介绍了关于java中的poi技术读取excel的相关操作 读取excel和MySQL相关: java的poi技术 ...

  5. 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 ...

  6. java的poi技术读取和导入Excel

    项目结构: http://www.cnblogs.com/hongten/gallery/image/111987.html  用到的Excel文件: http://www.cnblogs.com/h ...

  7. java使用poi包将数据写入Excel表格

    1.Excel相关操作代码 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcept ...

  8. 使用POI插件,提取导出excel的工具类

    在网站的不同的模块都需要使用到导入导出excel的功能,我们就需要写一个通用的工具类ExcelUtil. 我的思路:首先,导入和导出的Excel的文件格式固定:主标题,二级标题,数据行(姑且就这么叫) ...

  9. java使用POI解析2007以上的Excel表格

    来自http://hao0610.iteye.com/blog/1160678 使用poi来解析Excel的xls和xlsx. 解析xls: package xls; import java.io.F ...

随机推荐

  1. VNPY思维导图架构

    VNPY是使用人数世界第三,国内第一的量化交易框架,封装的接口主要有ctp(期货),wind,xtp(股票)等.内部包含回测.实盘.模拟盘等模块.数据库默认为MongoDB的no-sql数据库,基于p ...

  2. Setting the Java Class Path

    The class path is the path taht Java Runtime Environment(JRE) searches for classes and other resourc ...

  3. 安卓四大组件之Sevice组件的简单使用 --Android基础

    1.本例实现了简单的Service(服务)的创建.启动和停止,点击“启动SERVICE”页面会显示“服务被创建”,接着是“服务被启动”.点击“停止SERVICE”页面提示“服务被停止”.太过基础,直接 ...

  4. 跨域和jsonp的原理

    什么是跨域? 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制. 所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子: h ...

  5. JavaScript 入门笔记

    JavaScript   1.JS和DOM的关系 浏览器有渲染html代码的功能,把html源码在内存里形成一个DOM对象,就是文档对象 浏览器内部有一个JS的解释器/执行/引擎,如chrome用v8 ...

  6. 384. Shuffle an Array(java,数组全排列,然后随机取)

    题目: Shuffle a set of numbers without duplicates. 分析: 对一组不包含重复元素的数组进行随机重排,reset方法返回最原始的数组,shuffle方法随机 ...

  7. jqgrid操作列循环显示三个按钮

    首先ajax取数据 $.ajax( { type: "get", url: "../../MECManage/TJYY/collect", cache: fal ...

  8. ZZW原创_imdpd导入时产生的错误

    1.ORA-39083: Object type OBJECT_GRANT failed to create with error Processing object type SCHEMA_EXPO ...

  9. Python模块和包使用

    1.什么是模块 模块就是一个.py的文件 2.为什么要使用模块? 最开始的程序(没有任何组织)----> 函数------>类----->模块------>包  为了让程序的组 ...

  10. 【转】JQuery插件定义

    一:导言 有些WEB开发者,会引用一个JQuery类库,然后在网页上写一写("#"),("."),写了几年就对别人说非常熟悉JQuery.我曾经也是这样的人,直 ...