Java使用POI插件将数据以excel形式备份

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

(1)导入poi的jar包

放入lib下:  WebRoot\WEB-INF\lib\poi-3.2-FINAL-20081019.jar

(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());
            }
        }
            

原文地址:https://www.cnblogs.com/DFX339/p/8631136.html

时间: 2024-10-09 23:27:23

Java使用POI插件将数据以excel形式备份的相关文章

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

现在,很多地方都需要导出数据,这里说一种简单的方法将数据以Excel的形式导出,方法如下: 1 <?php 2 date_default_timezone_set('PRC');//设置时区 3 4 /*设置head头信息*/ 5 Header("Content-Type:application/vnd.ms-excel;charset=UTF-8"); 6 Header("Accept-Ranges:bytes"); 7 Header("Conte

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

public void exportExcel(List<P2pInfo> repayXist,HttpServletRequest request,HttpServletResponse response,List<DimNode> listArea,String drxh) throws Exception{ log.info("导出银生宝还款信息Excel文件"); FileOutputStream fos=null; InputStream is=nul

Java的poi技术读取和导入Excel

报表输出是Java应用开发中经常涉及的内容,而一般的报表往往缺乏通用性,不方便用户进行个性化编辑.Java程序由于其跨平台特性,不能直接操纵Excel.因此,本文探讨一下POI视线Java程序进行Excel的读取和导入. AD:WOT2014:用户标签系统与用户数据化运营培训专场 项目结构: 用到的Excel文件: XlsMain .java 类 //该类有main方法,主要负责运行程序,同时该类中也包含了用poi读取Excel(2003版) import java.io.FileInputSt

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

1.Excel相关操作代码 1 import java.io.File; 2 import java.io.FileInputStream; 3 import java.io.FileNotFoundException; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import java.lang.reflect.Field; 7 import java.lang.reflect.Method; 8 imp

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

来自http://hao0610.iteye.com/blog/1160678 使用poi来解析Excel的xls和xlsx. 解析xls: Java代码   package xls; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.

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

position:static(静态定位) 当position属性定义为static时,可以将元素定义为静态位置,所谓静态位置就是各个元素在HTML文档流中应有的位置 podisition定位问题.所以当没有定义position属性时,并不说明该元素没有自己的位置,它会遵循默认显示为静态位置,在静态定位状态下无法通过坐标值(top,left,right,bottom)来改变它的位置. position:absolute(绝对定位) 当position属性定义为absolute时,元素会脱离文档流

springmvc+mybatis+html 下将查询数据以excell形式上传到ftp(下)

上节讲到的是从数据库中查询相应的结果以excell形式写到ftp服务器上,今天又试了试从ftp上将excell 文件下载到本地目录,一开始的时候遇到了中文乱码问题,文件名中含有中文下载下来文件名为乱码,以下贴出核心代码 1 package com.ninefbank.smallpay.admin.util; 2 3 import java.io.BufferedOutputStream; 4 import java.io.File; 5 import java.io.FileInputStrea

Java使用POI读取和写入Excel指南

Java使用POI读取和写入Excel指南 做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求: 网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃,这里基于最新的Apache POI 4.0.1版本来总结一下整个读取和写入Excel的过程,希望能帮助到需要的人 ^_^ 1. 准备工作 1.1 在项目中引入Apache POI相关类库 引入 Apache POI 和 Apache POI-OOXML 这两个类库,Maven坐标如下: <depe

java的poi技术读取Excel[2003-2007,2010]

这篇blog主要是讲述java中poi读取excel,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为:xls和xlsx. 读取excel和MySQL相关: java的poi技术读取Excel数据到MySQL 你也可以在 : java的poi技术读取和导入Excel了解到写入Excel的方法信息 使用JXL技术 :java的jxl技术导入Excel  下面是本文的项目结构: 项目中所需要的jar文件: 所用的Excel数据(2003-2007,2010都是一