JAVA利用JXL导出 EXCEL (在原有的excel模板上把数据导到excel上)
添加依赖
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
package com.cyg.writeexcel;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public void writeExcel(){
String path="D:/";
String filePathName = null;
Long nowTime=System.currentTimeMillis();
String title = "导出管理表";
String fileName = title+nowTime;
String sourFile =path+"poi"+File.separatorChar+"exporttemplate"+File.separatorChar+"ymb.xls";//原模板
String destFile = path +"poi"+File.separatorChar+"xlsoutput"+File.separatorChar+nowTime; //复制到存放的目标位置
File file = new File(sourFile);
if(file.isFile()) {
File savefile = new File(destFile);
if (!savefile.exists()) {
savefile.mkdirs();
}
FileInputStream input =new FileInputStream(sourFile);
FileOutputStream output = new FileOutputStream(destFile+File.separatorChar+fileName+".xls");
int in = input.read();
while( in != -1) {
output.write(in);
in =input.read();
}
filePathName =destFile+File.separatorChar+fileName+".xls";
FileInputStream inFile=new FileInputStream(filePathName);
jxl.Workbook workbookA = jxl.Workbook.getWorkbook(inFile);
WritableWorkbook wwb = jxl.Workbook.createWorkbook(new File(filePathName),workbookA);
WritableSheet sheetA = wwb.getSheet(0);// 获取文件第一个sheet
Label labelA = null;
WritableFont font = new WritableFont(WritableFont.createFont("宋体"),
8, WritableFont.NO_BOLD);// 字体样式
WritableCellFormat wcf = new WritableCellFormat(font);
wcf.setAlignment(jxl.format.Alignment.CENTRE);//平行居中
wcf.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); //垂直居中
wcf.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN,jxl.format.Colour.BLACK); //BorderLineStyle边框
//获取数据源
for (int i = 1; i < 1000; i++) {
labelA = new Label(0,i,i+" ",wcf);//列、行、值、样式
sheetA.addCell(labelA);
labelA = new Label(1,i,"20180101" + i,wcf);//列、行、值、样式
sheetA.addCell(labelA);
labelA = new Label(2,i,"开发00"+i,wcf);//列、行、值、样式
sheetA.addCell(labelA);
labelA = new Label(3,i,i+" ");
sheetA.addCell(labelA);
labelA = new Label(4,i,"20180101" + i,wcf);//列、行、值、样式
sheetA.addCell(labelA);
labelA = new Label(5,i,i+" ",wcf);//列、行、值、样式
sheetA.addCell(labelA);
labelA = new Label(6,i,"的官方价格就感觉几个几个几个",wcf);//列、行、值、样式
sheetA.addCell(labelA);
labelA = new Label(7,i,"的官方价格就感觉几个几个几个",wcf);//列、行、值、样式
sheetA.addCell(labelA);
labelA = new Label(8,i,"的官方价格就感觉几个几个几个",wcf);//列、行、值、样式
sheetA.addCell(labelA);
labelA = new Label(9,i,"的官方价格就感觉几个几个几个",wcf);//列、行、值、样式
sheetA.addCell(labelA);
labelA = new Label(10,i,"的官方价格就感觉几个几个几个",wcf);//列、行、值、样式
sheetA.addCell(labelA);
labelA = new Label(11,i,"的官方价格就感觉几个几个几个",wcf);//列、行、值、样式
sheetA.addCell(labelA);
labelA = new Label(12,i,"的官方价格就感觉几个几个几个",wcf);//列、行、值、样式
sheetA.addCell(labelA);
}
output.flush();
output.close();
input.close();
wwb.write(); //写入数据
wwb.close();
workbookA.close(); //关闭连接
System.out.println("完成");
}
}
注:POI支持excel2003和2007,而jxl只支持excel2003。
如果有如下警告
Warning: Cannot read name ranges for _ T o c 521 -setting to empty
Warning: Usage of a local non-builtin name
解决方案:打开模板==》公式==》名称管理器==》删除里面表格的信息
JAVA利用JXL导出 EXCEL (在原有的excel模板上把数据导到excel上)的更多相关文章
- JAVA利用JXL导出/生成 EXCEL
/** * 导出导出采暖市场部收入.成本.利润明细表 * @author JIA-G-Y */ public String exporExcel(String str) { String str=Se ...
- JAVA利用JXL导出/生成 EXCEL1
/** * 导出导出采暖市场部收入.成本.利润明细表 * @author JIA-G-Y */ public String exporExcel(String str) { String str=Se ...
- java利用JXL导出/生成 EXCEL【my】
一.创建一个excel文件 package test;// 生成Excel的类 import java.io.File; import jxl.Workbook;import jxl.write.La ...
- sqlserver将数据库的数据导成excel文档方法
sqlserver将数据库的数据导成excel文档方法 最近公司需要下载uniport的数据跟之前的数据进行对比,所以避免不了需要将数据库的数据导出来,把SQLServer表中的数据导出为Excel文 ...
- java利用jxl实现Excel导入功能
本次项目实践基于Spring+SpringMvc+MyBatis框架,简单实现了Excel模板导出.和Excel批量导入的功能.实现过程如下:. 1.maven导入所需jar包 <depende ...
- Java中用JXL导出Excel代码详解
jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI.其中功能相对POI比较弱一点.但jExcelAPI对中文支 ...
- JAVA利用jxl读取Excel内容
JAVA可以利用jxl简单快速的读取文件的内容,但是由于版本限制,只能读取97-03 xls格式的Excel. import java.io.File; import java.io.FileInp ...
- java利用poi导出数据到excel
背景: 上一篇写到利用jtds连接数据库获取对应的数据,本篇写怎样用poi将数据到处到excel中,此程序为Application 正文: 第三方poi jar包:poi驱动包下载 代码片段: /** ...
- POI根据EXCEL模板,修改内容导出新EXCEL (只支持HSSF)
package excelPoiTest; import java.io.File; import java.io.FileInputStream; import java.io.FileOutput ...
随机推荐
- C#调用Mail发送QQ邮件
需要用到: 1.System.Net.Mail; 2.QQ邮箱的POP3/SMTP服务码 QQ邮箱的POP3/SMTP服务码获取方法: 1.打开qq邮箱: 2.进入设置页面-->账户:(往下翻) ...
- GDB结合Bochs调试内核
1. 编译内核 编辑.config文件,相关项目改成如下形式: 1: CONFIG_KGDB=y 2: CONFIG_KGDB_SERIAL_CONSOLE=y 3: CONFIG_MAGIC_SYS ...
- Django(十四)课程机构列表页数据展示,Django的modelform,关于urls的重新分发
关于urls的重新分发: 如果所有url都配置在根路径的urls.py里,会特别多,而且也不易于修改,Django框架里支持urls的重新分发: 1.在根路径的urls配置上: PS:namespac ...
- 2018-10-31-WPF-在触摸线程等待主线程窗口关闭会让主线程和触摸线程相互等待
title author date CreateTime categories WPF 在触摸线程等待主线程窗口关闭会让主线程和触摸线程相互等待 lindexi 2018-10-31 9:30:9 + ...
- java ThreadPoolExecutor 异常捕获
一,创建一个线程池 其中: public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) 饱和策略执行时的具体逻辑. p ...
- cmake 支持-lpthread
set(CMAKE_BUILD_TYPE "Release") if( CMAKE_BUILD_TYPE STREQUAL "Debug" ) set(C ...
- PHP算法之最接近的三数之和
给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入只存在唯一答案. 例如,给定数 ...
- linux crontab 计划任务编写
在linux中启动crontab服务: /etc/init.d/crond start crontab的命令格式 crontab -l 显示当前的crontab 文件(默认编写的crontab文件会保 ...
- redis数据备份还原
安装ruby yum install ruby rubygems ruby-devel -y 安装rvm gpg2 --keyserver hkp://pool.sks-keyservers.net ...
- MySQL主从复制&读写分离&分库分表
MySQL主从复制 MySQL的主从复制只能保证主机对外提供服务,从机是不提供服务的,只是在后台为主机进行备份数据 首先我们说说主从复制的原理,这个是必须要理解的玩意儿: 理解: MySQL之间的数据 ...