我正在玩jexcel libary
我尝试编写一个小程序来执行以下操作:
- 读取
xls
文件 - 在工作表中进行一些计算并将其写入另一个地方
公共(public)类数据处理器{
private String inputFile;
private String outputFile;
private Sheet sheet;
private Workbook w;
public void setInputFile(String inputFile) {
this.inputFile = inputFile;
}
public void setOutputFile(String outputFile) {
this.outputFile = outputFile;
}
public void read() throws IOException {
File inputWorkbook = new File(inputFile);
Workbook w;
try {
w = Workbook.getWorkbook(inputWorkbook);
sheet = w.getSheet(0);
} catch (BiffException e) {
e.printStackTrace();
}
}
@SuppressWarnings("deprecation")
public void write() throws IOException, WriteException {
File file = new File(inputFile);
WorkbookSettings wbSettings = new WorkbookSettings();
wbSettings.setLocale(new Locale("en", "EN"));
WritableWorkbook workbook = Workbook.createWorkbook(file, wbSettings);
workbook.createSheet("Lolonator", 0);
workbook.createSheet("Lolonator123", 1);
workbook.copy(w);
workbook.write();
workbook.close();
}
public static void main(String[] args) throws IOException, WriteException {
ReadExcel test = new ReadExcel();
test.setInputFile("C:/Users/Desktop/sheet1.xls");
test.read();
System.out.println("####################################################");
System.out.println("File read!");
// Write
System.out.println("####################################################");
System.out.println("Start to write the file!");
WriteExcel out = new WriteExcel();
out.setOutputFile("C:/Users/Desktop/sheet2.xls");
out.write();
System.out.println("Please check the result file!");
}
}
但是,这不起作用。即使我的程序毫无异常(exception)地运行到最后,我的工作表中也没有得到任何输出。我非常感谢您的回答!!!
最佳答案
在您的写入函数中,您使用“inputFile”作为 File 构造函数的参数,但在创建 out 对象后并未初始化它。
所以写入函数中的以下行
File file = new File(inputFile);
应该是
File file = new File(outputFile);
此外,您确定运行此代码后没有看到任何错误吗?它应该抛出一个空指针异常。
希望这有帮助...
关于java - 读入Excel表格,处理并输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19345059/