需要jxl.jar

测试结果没问题,代码:

package com;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import jxl.Workbook;
import jxl.WorkbookSettings;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException; public class ExportExcel { public void exportExcel(String exportPath){
File file = new File(exportPath);
if(!file.exists()||file.isDirectory()){
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
WorkbookSettings WorkbookSettings = new WorkbookSettings();
WorkbookSettings.setEncoding("gbk"); WritableWorkbook writableWorkbook = null;
try {
writableWorkbook = Workbook.createWorkbook(file, WorkbookSettings); List<List<String>> data = getData(); int dataSize = data.size(); int maxItem = 10;//每个sheet最多能添加10条记录 int totalSheetCount = (dataSize/maxItem)+1;//总sheet数 for(int sheetIndex=0;sheetIndex<totalSheetCount;sheetIndex++){
WritableSheet sheet = writableWorkbook.createSheet("Sheet"+(sheetIndex+1), sheetIndex);
List<String> titles = data.get(0); WritableCellFormat writableCellFormat = new WritableCellFormat();//格式 TODO //添加title
for(int columnIndex=0;columnIndex<titles.size();columnIndex++){
String title = titles.get(columnIndex); try {
sheet.addCell(new Label(columnIndex, 0, title, writableCellFormat));//因为放在第一行,所以第二个参数(行Index)默认成0
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
} for(int rowIndex = sheetIndex * maxItem + 1;rowIndex<(sheetIndex * maxItem + maxItem);rowIndex++){ int dataIndex = rowIndex-sheetIndex;//数据对应的index号
List<String> items = data.get(dataIndex);//每行内容 for(int columnIndex=0;columnIndex<items.size();columnIndex++){
String content = items.get(columnIndex);//每个cell中的内容 try {
sheet.addCell(new Label(columnIndex,rowIndex-(sheetIndex * maxItem), content, writableCellFormat));
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
} if((dataIndex+1)==dataSize){//最后一条数据完成后终止
break;
} } } writableWorkbook.write(); } catch (IOException e) {
e.printStackTrace();
}finally{
if(writableWorkbook!=null){
try {
writableWorkbook.close();
} catch (WriteException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} } } /**
* 数据源
* @return
*/
public List<List<String>> getData(){
List<List<String>> data = new ArrayList<List<String>>(); List<String> titles = new ArrayList<String>();
titles.add("序号");
titles.add("姓名");
titles.add("性别");
titles.add("生日");
titles.add("电话");
titles.add("邮箱"); data.add(titles);
for(int i=0;i<20;i++){
List<String> contents = new ArrayList<String>();
contents.add((i+1)+"");
contents.add("测试人员"+(i+1));
contents.add("男");
contents.add("1990-01-01");
contents.add("1851515151"+(i+1));
contents.add("123@12"+(i+1)+".com"); data.add(contents);
} return data;
} public static void main(String[] args) {
String exportPath = "D:\\exportExcel.xls";
ExportExcel exportExcel = new ExportExcel();
exportExcel.exportExcel(exportPath);;
}
}

用jxl导出数据到excel的更多相关文章

  1. 分别使用POI和JXL导出数据到Excel

    1.使用POI 引入jar包 <!-- poi HSSF is our port of the Microsoft Excel 97(-2007) file format (BIFF8) to ...

  2. jxl 导出数据到excel

    优点: Jxl对中文支持非常好,操作简单,方法看名知意. Jxl是纯javaAPI,在跨平台上表现的非常完美,代码可以再windows或者Linux上运行而无需重新编写 支持Excel 95-2000 ...

  3. JXL 读取 Excel java中jxl导出数据到excel的例子 上传文件

    2010-10-14 19:17:06 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info 信息: Entferne Dat ...

  4. Java操作Jxl实现导出数据生成Excel表格数据文件

    实现:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js.Css文件.页面:Jsp.拦截请求:Servlet.逻辑处理:ClassBean.数据库:SQLserver. 注意: ...

  5. 1.ASP.NET MVC使用EPPlus,导出数据到Excel中

    好久没写博客了,今天特地来更新一下,今天我们要学习的是如何导出数据到Excel文件中,这里我使用的是免费开源的Epplus组件. 源代码下载:https://github.com/caofangshe ...

  6. 导出数据到Excel --使用ExcelReport有感

    先看图,这是几个月前用NPOI写的导出数据到Excel,用了上百行代码,而且难控制,导出来也比较难看 excel打开的效果 下面是我用ExcelReport类库导出到Excel的操作 1.首先引用Ex ...

  7. 使用Open xml 操作Excel系列之二--从data table导出数据到Excel

    由于Excel中提供了透视表PivotTable,许多项目都使用它来作为数据分析报表. 在有些情况下,我们需要在Excel中设计好模板,包括数据源表,透视表等, 当数据导入到数据源表时,自动更新透视表 ...

  8. Dynamics CRM导出数据到Excel

    原创地址:http://www.cnblogs.com/jfzhu/p/4276212.html 转载请注明出处 Pivot Table是微软BI的一个重要工具,所以这里讲一下Dynamics CRM ...

  9. MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult

    导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...

随机推荐

  1. Rocky4.2下安装达梦(DM)6数据库

    1.准备操作系统 1.1 系统登录界面 1.2 操作系统版本信息 jdbh:~ # uname -ra Linux jdbh -x86_64 # SMP Fri Dec :: CST x86_64 G ...

  2. 栈的C++实现(指针)——创建-push-pop-top-清空栈-处理栈

    今天学习了栈的C++实现,跟单链表很像: push相当于单链表在第一个位置插入元素: pop相当于单链表在第一个位置删除元素: 1.空栈检查 int stack::isEmpty(Stack *S) ...

  3. 大数相乘nyoj28

    描述我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?   输入 输入一个整数m(0<m<=5000) 输出 输出m的阶乘,并在输出结束之后输入一个换行符 ...

  4. mango-1.4.1 文档

    文档目录 快速开始 添加依赖包 数据库准备 创建HelloWorld类 书写插入与查询方法 构造数据源并初始化mango对象 获取dao并调用插入与查询方法 查看完整示例代码和表结构 基本操作 准备工 ...

  5. larave5.1l队列

    官方文档http://laravel.com/docs/5.1/queues#dealing-with-failed-jobs 1.队列容器设置为数据库 config/queue.php 'defau ...

  6. 【转】Unity中添加组件的几种方法

    http://blog.csdn.net/monzart7an/article/details/23199647 一.在编辑器上面添加一个组件.这个不用多说. 二.在脚本中利用AddComponent ...

  7. Spark中容易遇到的问题

    1. 序列化错误 所有需要传给RDD的变量都要实现java.io.Serializable接口.

  8. oracle:case when 语句的区间用法

    在练习case when 语句时,碰到一个例子,结果答案根本就不对,语法就通不过,开始想着是不是case 只能是一个固定的取值,毕竟例子内给的都是case是个固定的值,后来网上查了好久才发现还有区间的 ...

  9. IEnumerable 使用foreach 详解

    自己实现迭代器 yield的使用 怎样高性能的随机取IEnumerable中的值 我们先思考几个问题: 为什么在foreach中不能修改item的值? 要实现foreach需要满足什么条件? 为什么L ...

  10. Velocity(6)——#if指令

    下面是#If指令的一个简单而完整的示例: #if ($foo < 10) Go North #elseif ($foo == 10) Go East #else Go West#end 不能漏掉 ...