实体类excel

import java.util.List;

/**
* 功能:
* 描述:
* @author
* @date 2015-3-19 下午5:15:48
*/
public class Excel {
private String fileName;//sheet的名称
private String[] handers;//sheet里的标题
private List<String[]> dataset;//sheet里的数据集 /**
*
*/
public Excel(String fileName,String[] handers,List<String[]> dataset)
{
this.fileName = fileName;
this.handers = handers;
this.dataset = dataset;
} public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String[] getHanders() {
return handers;
}
public void setHanders(String[] handers) {
this.handers = handers;
}
public List<String[]> getDataset() {
return dataset;
}
public void setDataset(List<String[]> dataset) {
this.dataset = dataset;
} }

具体实现

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List; 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; /**
* 功能:将多个sheet导出到同一个出excel表格中
* 描述:
* @author
* @date 2015-3-19 下午5:20:20
*/
public class test {
public static void main(String[] args) {
String data1[] = {"111","2222","3333","44444"};
String data2[] = {"111","2222","3333","44444","5555"};
String handers1[] = {"一","二","三","四","五"};
String handers2[] = {"one","two","three","four","five"};
String handers3[] = {"车辆","毛衣","手机","茶杯","笔记本"};
List<String[]> dataset = new ArrayList<String[]>();
dataset.add(data1);
dataset.add(data2); Excel e1 = new Excel("第一个sheet", handers1, dataset);
Excel e2 = new Excel("第二个sheet", handers2, dataset);
Excel e3 = new Excel("第三个sheet", handers3, dataset); List<Excel> mysheet = new ArrayList<Excel>();
mysheet.add(e1);
mysheet.add(e2);
mysheet.add(e3); test2(mysheet); } private static void test(){
List<Object> list = new ArrayList<Object>();
String[] handers = {"1","2","3","4","5"};
HSSFWorkbook wb = new HSSFWorkbook();//创建工作薄
HSSFSheet sheet = wb.createSheet("第一个sheet");//第一个sheet
HSSFRow rowFirst = sheet.createRow(0);//第一个sheet的第一行为标题
//写标题
for(int i=0;i<handers.length;i++){
//获取第一行的每个单元格
HSSFCell cell = rowFirst.createCell(i);
//往单元格里写数据
cell.setCellValue(handers[i]);
}
//写数据集
//假定数据集诗歌list集合
for(int i=0;i<list.size();i++){
//获取list里面存在是数据集对象
Object obj = list.get(i);
//创建数据行
HSSFRow row = sheet.createRow(i+1);
//设置对应单元格的值
row.createCell(0).setCellValue("obj 的属性0");
row.createCell(1).setCellValue("obj 的属性1");
row.createCell(2).setCellValue("obj 的属性2");
row.createCell(3).setCellValue("obj 的属性3");
row.createCell(4).setCellValue("obj 的属性4");
}
//写文件
try {
OutputStream os = new FileOutputStream(new File("filepath"));
wb.write(os);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } /**
* 具体sheet的操作
* @author
* @date 2015-3-19下午6:12:57
* @param mysheets void
*/
private static void test2(List<Excel> mysheets){
HSSFWorkbook wb = new HSSFWorkbook();//创建工作薄
List<Excel> sheets = mysheets;
for(Excel excel:sheets){
//新建一个sheet
HSSFSheet sheet = wb.createSheet(excel.getFileName());//获取该sheet名称 String[] handers = excel.getHanders();//获取sheet的标题名
HSSFRow rowFirst = sheet.createRow(0);//第一个sheet的第一行为标题
//写标题
for(int i=0;i<handers.length;i++){
//获取第一行的每个单元格
HSSFCell cell = rowFirst.createCell(i);
//往单元格里写数据
cell.setCellValue(handers[i]);
} //写数据集
List<String[]> dataset = excel.getDataset();
for(int i=0;i<dataset.size();i++){
String[] data = dataset.get(i);//获取该对象 //创建数据行
HSSFRow row = sheet.createRow(i+1); for(int j=0;j<data.length;j++){
//设置对应单元格的值
row.createCell(j).setCellValue(data[i]);
}
} } // 写文件
try {
OutputStream os = new FileOutputStream(new File("D://test.xls"));
wb.write(os);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} } }

将多个Sheet导入到同一个Excel文件中的更多相关文章

  1. C#利用NPOI在同一个Excel文件中创建多个sheet

    借用NPOI来实现,要在同一Excel文件中创建多个sheet,只需要在同一个workbook中创建多个sheet即可.要注意的是,sheet的名字一定不能重复.下面是实现的代码: private v ...

  2. C#可以获取Excel文件中Sheet的名字

    C#可以获取Excel文件中Sheet的名字吗 C#可以获取Excel文件中Sheet的名字吗 我试过WPS的表格可以 可以 要代码么 百度都有 [深圳]Milen(99696619)  14:13: ...

  3. java导入、导出Excel文件

    一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际 ...

  4. [Python]将Excel文件中的数据导入MySQL

    Github Link 需求 现有2000+文件夹,每个文件夹下有若干excel文件,现在要将这些excel文件中的数据导入mysql. 每个excel文件的第一行是无效数据. 除了excel文件中已 ...

  5. 把当前文件夹的xlsx或xls文件合并到一个excel文件中的不同sheet中

    把当前文件夹的xlsx或xls文件合并到一个excel文件中的不同sheet中步骤如下: 把需要合并的文件放到同一个文件夹 在该文件夹中新建一个excel文件 打开新建的excel问价,把鼠标放到sh ...

  6. .Net应用导入、导出Excel文件

    本次阐述的导入和导出都围绕此Demo进行

  7. 如何使用JavaScript导入和导出Excel文件

    本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. JavaScript是一个涵盖多种框架.直译式.可以轻松自定义客户端的脚本 ...

  8. 如何使用JavaScript实现前端导入和导出excel文件

    一.SpreadJS 简介 SpreadJS 是一款基于 HTML5 的纯 JavaScript 电子表格和网格功能控件,以“高速低耗.纯前端.零依赖”为产品特色,可嵌入任何操作系统,同时满足 .NE ...

  9. 前端必读3.0:如何在 Angular 中使用SpreadJS实现导入和导出 Excel 文件

    在之前的文章中,我们为大家分别详细介绍了在JavaScript.React中使用SpreadJS导入和导出Excel文件的方法,作为带给广大前端开发者的"三部曲",本文我们将为大家 ...

随机推荐

  1. leetcode169——Majority Element (C++)

    Given an array of size n, find the majority element. The majority element is the element that appear ...

  2. [翻译][MVC 5 + EF 6] 2:基础的增删改查(CRUD)

    原文:Implementing Basic CRUD Functionality with the Entity Framework in ASP.NET MVC Application 1.修改Vi ...

  3. 数据库开发 MySQL

    MySQL是Web世界中使用最广泛的数据库服务器.SQLite的特点是轻量级.可嵌入,但不能承受高并发访问,适合桌面和移动应用.而MySQL是为服务器端设计的数据库,能承受高并发访问,同时占用的内存也 ...

  4. Jquery div边框大全

    网址 http://jquery.malsup.com/corner/ jQuery Corner是一款jQuery的插件,最初由Dave Methvin开发,但后在Malsup同志的协助下,进行了一 ...

  5. HTML5 的绘图支持- canvas

    Canvas HTML5新增了一个canvas元素,它是一张空画布,开发者需要通过JavaScript脚本进行绘制. 在canvas上绘图,经过如下3步 (1) 获取canvas元素对应的DOM对象. ...

  6. 负载均衡-多台机子session不起效:把php.ini中file改为memcache存储

    一 开启memcache服务 二 修改php.ini中session配置 php/lib/php.ini session.save_handler = memcache session.save_pa ...

  7. 黑马程序员-------.net基础知识二

    变量 变量代表着一块内存空间,我们可以通过变量名称想内存存/取数据,有变量就不需要我们记忆复杂的内存地址. 向内存中申请一块内存空间的语法:   数据类型 变量名; 变量类型 变量类型 存储位置 自动 ...

  8. iOS开发之本地化

    一.简介 * 使用本地化功能,可以轻松地将应用程序翻译成多种语言,甚至可以翻译成同一语言的多种方言 * 如果要添加本地化功能,需要为每种支持的语言创建一个子目录,称为”本地化文件夹”,通常使用.lpr ...

  9. 关于textjs的tree带复选框的树

    通过查阅一些资料和自己之前了解到的一些相关知识,有时项目中需要用到.话不多说,先看一下效果图: 我写的这人员选择的树,主要是改写了TreePanel,如下代码: ExtendTreePanel.js ...

  10. skiplist 跳表(1)

    最近学习中遇到一种新的数据结构,很实用,搬过来学习. 原文地址:skiplist 跳表   为什么选择跳表 目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等. ...