java - 读入Excel表格,处理并输出

标签 java windows eclipse excel jexcelapi

我正在玩jexcel libary

我尝试编写一个小程序来执行以下操作:

  1. 读取 xls 文件
  2. 在工作表中进行一些计算并将其写入另一个地方

公共(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/

相关文章:

java - 如何让 Java 进度条显示小数值?

java - 如何从存储在变量中的字符串调用 Java 函数

java - 如何将库文件夹添加到 Eclipse?

c++ - 如何在不使用 "Qt project"的情况下在 Eclipse 中设置 QT 路径?

java - 如何扩展 JTextField 以生成对 focusgain 的定义响应

Java - 是否有任何方法可以混淆/隐藏字符串以防止反编译?

windows - Windows 上两个网络套接字之间的管道数据

c# - .net FileSystemWatcher 不拾取移动的文件夹

java - 如何从 Java 提升我的 UAC 权限?

java - 在 Eclipse Juno 中与 SONAR 关联时始终显示没有结果