package net.ewide.util;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import jxl.Workbook;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
/**
* 绘制简单的excel
* 使用JXL将数据写入excel
* @author hql
*
*/
public class JxlWrite {
private static final int headerSize=24; //头字体大小
private static final int titelSize =14; //列名字体大小
private static final int cellSize =14; //单元格字体大小
/**
* 写入excel
* @param filename 文件路径
* @param titel 标题
* @param cs 列标题样式,数组中包含列名、宽度、对齐方式
* @param list 数据
*/
public void writeExcel(File file,String titelname,List<String[]> cs,List<Object[]> list){
try {
WritableWorkbook wwb = Workbook.createWorkbook(file);
WritableSheet ws = wwb.createSheet(titelname, 0);
if(cs.size()>1)
ws.mergeCells(0, 0, cs.size()-1, 1); //合并单元格 从0列,0行到传入列数,2行
Label header = new Label(0,0,titelname,getHeader()); //0列,0行,表头,样式
ws.addCell(header); //添加标题
Label l = null;
for(int i=0;i<cs.size();i++){ //循环显示列名
l = new Label(i,2,cs.get(i)[0],getTitel()); //第3行显示列名
ws.addCell(l);
ws.setColumnView(i, Integer.parseInt(cs.get(i)[1])); //设置列宽
}
ws.setRowView(0,400); //设置前3行行高
ws.setRowView(1,400);
ws.setRowView(2,500);
int begrow = 3; //从第4行显示内容
for(int j=0;j<list.size();j++){ //循环显示行
for(int a=0;a<cs.size();a++){ //循环显示列
l = new Label(a,begrow,list.get(j)[a].toString(),getCell(cs.get(a)[2]));
ws.addCell(l);
}
ws.setRowView(begrow, 400); //设置行高
begrow++;
}
wwb.write(); //输出流
wwb.close(); //关闭流
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 设置标题样式
* @return WritableCellFormat
*/
private static WritableCellFormat getHeader(){
try {
WritableFont font = new WritableFont(WritableFont.TIMES, headerSize ,WritableFont.BOLD); //字体类型、大小、粗体
font.setColour(Colour.BLUE); //蓝色字体
WritableCellFormat format = new WritableCellFormat(font); //定义样式
format.setAlignment(jxl.format.Alignment.CENTRE); //左右居中
format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); //上下居中
format.setBorder(Border.ALL,BorderLineStyle.THIN,Colour.BLACK); //黑色边框
format.setBackground(Colour.YELLOW); //黄色背景
return format;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 设置列名样式
* @return WritableCellFormat
*/
private static WritableCellFormat getTitel(){
try {
WritableFont font = new WritableFont(WritableFont.TIMES, titelSize);
font.setColour(Colour.BLUE);
WritableCellFormat format = new WritableCellFormat(font);
format.setAlignment(jxl.format.Alignment.CENTRE);
format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
format.setBorder(Border.ALL,BorderLineStyle.THIN,Colour.BLACK);
return format;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 设置单元格样式
* @param width
* @return WritableCellFormat
*/
private static WritableCellFormat getCell(String aln){
try {
WritableFont font = new WritableFont(WritableFont.TIMES, cellSize);
WritableCellFormat format = new WritableCellFormat(font);
if(aln!=null){
if(aln.equals("right")){
format.setAlignment(jxl.format.Alignment.RIGHT);
}else if(aln.equals("left")){
format.setAlignment(jxl.format.Alignment.LEFT);
}else if(aln.equals("center")){
format.setAlignment(jxl.format.Alignment.CENTRE);
}
}
format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
format.setBorder(Border.ALL,BorderLineStyle.THIN,Colour.BLACK);
return format;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* @param args
*/
public static void main(String[] args) {
File file = new File("D:\\区域管理.xls");
String name ="区域管理";
List<String[]> cs = new ArrayList<String[]>();
String[] a = {"资料号","15","left"};
String[] b = {"姓名","15","center"};
String[] c = {"地址","30","left"};
String[] d = {"电话","15","right"};
cs.add(a);
cs.add(b);
cs.add(c);
cs.add(d);
List<Object[]> list = new ArrayList<Object[]>();
String[] e = {"100283946","张大","崇仁路","13124563563"};
String[] f = {"100283947","张二","","13728372846"}; //传入null值不能显示
String[] g = {"100283948","张么","110","027-110"};
list.add(e);
list.add(f);
list.add(g);
JxlWrite jw = new JxlWrite();
jw.writeExcel(file, name, cs, list);
System.out.println("导出成功");
}
}
分享到:
相关推荐
jxl导入excel
导入Excel文件主要是读取其中的数据。以下是一段基本的导入代码示例: ```java import jxl.*; public class ExcelImporter { public static void main(String[] args) { try { Workbook workbook = Workbook....
在Java开发中,导入Excel数据并将其保存到本地数据库是一项常见的任务,特别是在处理大量结构化数据时。这里我们将深入探讨如何使用jxl库来实现这一功能。 jxl是一个流行的Java库,专门用于读写Microsoft Excel文件...
本人从网上搜集资料,加上自己研究探索,现在完成了用Jxls导入导出Excel2003和Excel2007数据,读取和写入xls和xlsx文件,现把结果告诉大家,希望大家不走弯路,直接掌握先进实用的技术,解决实际工作问题。...
三、导入Excel数据 1. **读取工作簿** 使用`Workbook`类的静态方法`Workbook.getWorkbook(File)`读取Excel文件。例如: ```java File excelFile = new File("path_to_your_excel_file.xls"); Workbook workbook ...
JXL则是另一个处理Excel文件的Java库,相比POI,它的功能相对较轻量级,但仍然能够实现读写Excel的基本需求。在早期的Java应用中,JXL是常见的选择,不过随着POI的发展,现在更多地被用于复杂的Excel操作。 这个...
在Java编程环境中,我们经常需要处理数据的导入和导出,Excel作为一种常见的数据存储和展示格式,被广泛应用。`jxl`库是一个流行的Java库,它允许开发者读取、写入和修改Excel文件。本教程将详细介绍如何使用`jxl`库...
为了更好地理解这两个库的用法,你可以查看提供的"Excel导入导出(jxl及Poi)工具类"压缩包中的示例代码。通过阅读和运行这些代码,你可以更深入地了解如何在实际项目中应用jxl和Apache POI。 总的来说,jxl和Apache ...
使用Jxl对Excel进行导入导出,其中包含设置单元格样式以及数据有效性。
Struts2 框架与 Apache 的 JXL 库整合,可以方便地实现在 Java Web 应用中导入和导出 Excel 表格的功能。Apache JXL 是一个强大的 Java 库,专门用于读写 Microsoft Excel 文件,使得开发者无需依赖 Office API 就能...
### JavaScript导入Excel(jxl) 在本篇内容中,我们将探讨如何使用JavaScript结合jxl库来实现Excel文件的导入功能。值得注意的是,虽然标题中提到的是“JavaScript导入excel(jxl)”,但实际上jxl库是Java的一个...
Java 使用 JXL 进行Excel导入导出是一个常见的任务,特别是在数据处理和分析场景中。JXL 是一个 Java 库,允许开发者方便地读取、写入和操作 Excel 文件(.xls 格式)。以下是对这个主题的详细阐述: 1. **JXL 概述...
`jxl`库是一个流行的开源库,它使得Java开发者能够方便地读取、写入和修改Excel文件。这个"jxl驱动包"就是用于实现这一功能的工具,特别适用于那些需要处理大量数据并希望将其以可读性较强的方式呈现给用户的项目。 ...
在Java编程环境中,处理Excel文件是一项常见的任务,特别是在数据导入导出、报表生成等领域。`jxl`库是一个广泛使用的开源库,它允许开发者用Java读取、写入和修改Excel文件。在这个特定的场景中,我们将探讨如何...
本示例"jxl导入导出excel完美运行demo"提供了一个完整的实现,使得开发者能够快速理解和应用Excel处理功能。 `jxl`库是Java中广泛使用的第三方库,它支持读取和写入Excel 97-2003格式(.xls)的文件。这个库提供了...
java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图
在Java编程环境中,处理Excel文件是一项常见的任务,特别是在数据分析、数据导入导出或者报表生成等场景。`jxl`库是Java中一个广泛使用的库,它允许开发者方便地读取和写入Excel文件(.xls格式)。本篇将详细介绍...
导入Excel数据 读取Excel文件通常涉及创建一个`Workbook`对象,然后遍历工作表(`Sheet`)和单元格(`Cell`)。以下是一个简单的示例: ```java import jxl.*; public class ExcelReader { public static void ...
Java中的JXL库是一个非常实用的工具,它允许开发者在应用程序中读取、写入和修改Excel文件。这个库特别适合那些需要处理大量数据并希望将数据格式化为表格的项目。下面我们将深入探讨JXL库在Java Excel解析中的应用...