懂jxl的朋友来一下!!!

chuzheng99 2011-05-10 05:12:09
最近在做一个提取数据写到EXCEL的任务:
就是已经给好了一个EXCEl的模板,现在要向此模板写入一些数据,但是我可以向模板中写数据,但是只要一写就会把原来的模板颜色,字体改变,而且还有一列变成黑色的了。郁闷中》》》》》》》》 我的代码又没有改变这些呀?


朋友们讲讲这是怎么啦! 最好给出解决的代码哦!~!~!~!~!!~!~!!~
...全文
81 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
guyuxuelang 2011-05-25
  • 打赏
  • 举报
回复
这个在那个类里面是有具体的参数设置的吧,你不设的话就用了默认的了
chuzheng99 2011-05-25
  • 打赏
  • 举报
回复
二楼的大哥好像没有把原来的格式获取并从新设进去呀 , 如果这样那问题还是没解决呀!!~!
liuyuhua0066 2011-05-25
  • 打赏
  • 举报
回复
这个问题你半个月还没有解决??这学习的态度,佩服……
tubage408 2011-05-25
  • 打赏
  • 举报
回复
WritableCellFormat format = new WritableCellFormat();
format.setBackground(Colour.BLUE_GREY);
format.setBorder(Border.BOTTOM,BorderLineStyle.DOTTED);

Label label = = new Label(0,k,node.getFirstChild().getNextSibling().getTextContent());
label.setCellFormat(format);
ws.addCell(label);
YOULOVEXIA 2011-05-12
  • 打赏
  • 举报
回复

package org.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;


import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

/**
* 将excel数据导入到oracle数据库
* @author Administrator
*
*/
public class ReadExcel2 {
//用于返回三维数组的集合
private static ArrayList subdata=new ArrayList();
//excel中的表名
private static String tablename;
//文件路径
private static String filePath;


/**
* 读取excel数据并插入到数据库中
* @param filePath
*/
public static void ExcelDataImport(String filePath){
ArrayList al=readExcel(filePath);
//转换成二维数组
ArrayList list=ReadExcel2.getDisplayData(al);
InsertData(list);
}


//将读取的数据放到一个三维数组中
public static ArrayList readExcel(String filePath){
try {
subdata.clear(); //将静态的ArrayList数组清空,否则会不断增加
InputStream is=new FileInputStream(filePath); //可能会出异常所以加try{} FileNotFoundException
Workbook rwb=Workbook.getWorkbook(is); //BiffException IOException
//Sheet st=rwb.getSheet(0); //两种方式获取获取获取sheet表
// Sheet st=rwb.getSheet("Book1"); //Excel中第一页的页名称
Sheet st[]=rwb.getSheets();//得到Excel中所有页的列表
for (int a = 0; a < st.length; a++) {
ArrayList alList=new ArrayList();
ArrayList tablenames=new ArrayList();
ArrayList tableAndContents=new ArrayList();
tablename=st[a].getName().trim();
int b=0;
for (int i = 0; i <st[a].getRows(); i++) {
ArrayList al=new ArrayList();
for (int j = 0; j < st[a].getColumns(); j++) {
Cell c00=st[a].getCell(j,i);
//通用的获取cell值的方法,返回字符串
String strc00=c00.getContents().trim();
//获取cell具体类型值的方式得到内容
al.add(j,strc00);
}
alList.add(b,al);
b++;
}
tablenames.add(tablename);
tableAndContents.add(0,tablenames);
tableAndContents.add(1,alList);
subdata.add(a,tableAndContents);
}
rwb.close();
//关闭
//System.out.println(subdata);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return subdata;
}
private static void InsertData(ArrayList data){
String tablename;
ArrayList contents=new ArrayList();
for (int i = 0; i <data.size()-2; i++) {
ArrayList list=(ArrayList)data.get(i);
for (int j = 0; j < list.size(); j++) {
System.out.println(list.get(j));
}
}
}

//将readExcel方法中读取出来的三维数组转换成二维数组数据
public static ArrayList getDisplayData(ArrayList al){
ArrayList result=new ArrayList();
for (int i = 0; i < al.size(); i++) {
ArrayList tem=(ArrayList)((ArrayList)al.get(i)).get(1);
for (int j = 0; j <tem.size(); j++) {
result.add(tem.get(j));
}
}
return result;

}


//得到文件路径
public static String getFilePath() {
return filePath;
}

//设置文件路径
public static void setFilePath(String filePath) {
ReadExcel2.filePath = filePath;
}

public static void main(String[] args) {
//ReadExcel2.ExcelDataImport("D:/功能介绍.xls");
//ReadExcel2.ExcelDataImport("E:\\MyWork\\周工作计划\\周工作计划2010-01-04到2010-01-08.xls");
ReadExcel2.ExcelDataImport("E:/MyWork/周工作计划/周工作计划2010-01-04到2010-01-08.xls");

}
}


awusoft 2011-05-11
  • 打赏
  • 举报
回复
这个....先获取原来的格式吧.再设置回去setCellStyle?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧