请问各位大虾:
如何 拷贝一张已有的sheet 到 另一个workbook中 ?
除了 循环拷贝每个单元格 这一方法之外 有没其他方法?
还有 如果 循环拷贝每个单元格 又如何获取文本框,图片.自选图形等信息
=======================谢了===================================
如何 拷贝一张已有的sheet 到 另一个workbook中 ?
除了 循环拷贝每个单元格 这一方法之外 有没其他方法?
还有 如果 循环拷贝每个单元格 又如何获取文本框,图片.自选图形等信息
=======================谢了===================================
File inputWorkbook = new File(input);
File outputWorkbook = new File(output);
Workbook w1 = Workbook.getWorkbook(inputWorkbook);
WritableWorkbook w2 = Workbook.createWorkbook(outputWorkbook, w1);
w2.write();
w2.close();
List<String> toBeCombFileList=new ArrayList();// 存放待合并Excel文件的路径。
String finalFileName;//合并后的Excel文件名
toBeCombFileList.add("D:/temp/b.xls");
toBeCombFileList.add("D:/temp/c.xls");
toBeCombFileList.add("D:/temp/d.xls");//实际是从图形界面中获得的参数
finalFileName="D:/temp/final.xls";//实际从图形界面中获得该参数
WritableWorkbook wwb = null;
try{
wwb = Workbook.createWorkbook(new File(finalFileName));
List<Sheet> sheetList=new ArrayList();//用来存放取得sheet的List
List<String> sheetNameList=new ArrayList();//存放sheet名字的List
try{
for(int i=0;i<toBeCombFileList.size();i++){
String excelFileName=(String)toBeCombFileList.get(i);
Workbook book = Workbook.getWorkbook(new File(excelFileName));
for (int numSheets = 0; numSheets < book.getNumberOfSheets(); numSheets++) {
if(book.getSheet(numSheets)!=null){
Sheet sheet = book.getSheet(numSheets);// 获得一个sheet
sheetList.add(sheet);
sheetNameList.add(sheet.getName());
}
}
}
}catch(Exception e){e.printStackTrace();}
for(int i=0;i<sheetList.size();i++){//根据上面得到的sheet名字 创建空的sheet
wwb.importSheet(sheetNameList.get(i), i, sheetList.get(i));//最核心的方法!!!!!对于复杂一点的Sheet 老是报NullPointException 郁闷!!
}
//写入数据并关闭文件
wwb.write();
wwb.close();
}catch(Exception e)
{
e.printStackTrace();
}
“jxl.common.AssertionFailed
at jxl.common.Assert.verify(Assert.java:37)
at jxl.SheetSettings.<init>(SheetSettings.java:332)”错误!jxl.Workbook workbook = null;
try {
workbook = jxl.Workbook.getWorkbook(new File(filePath));
//获得源文件的所有sheet的集合
jxl.Sheet Mysheets[] = workbook.getSheets();
WritableWorkbook writableWorkbook = null;
System.out.println("length:"+Mysheets.length);
for (int i = 0; i < Mysheets.length; i++) {
//创建一个待写的Excel,文件名为sheet名字
writableWorkbook = jxl.Workbook.createWorkbook(new File(
Mysheets[i].getName()+".xls"));
// writableWorkbook = jxl.Workbook.createWorkbook(new File(
// sheets[i].getName()+".xls"),workbook);
writableWorkbook.importSheet(Mysheets[i].getName(), i, Mysheets[i]);
writableWorkbook.write();
// try {
// if(writableWorkbook!=null){
//// writableWorkbook.removeSheet(0)
// writableWorkbook.close();
// }
// } catch (WriteException e) {
// e.printStackTrace();
// }
}
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}