ApachePOI——将数据插入特定列/行和表格EXCEL w/Java

ApachePOI——将数据插入特定列/行和表格EXCEL w/Java,java,excel,apache,Java,Excel,Apache,我有一个excel文档,我想用java编辑或输入其中的数据。我尝试过,但我能做的只是删除excel中的数据,并将其替换为我刚才输入的数据。我正在为我的编译器使用Netbeans。我的输出是GUI/JFrame 如何将数据插入特定的列、行和工作表?? 示例我想将其插入C12、E11、表1等中 谢谢你 我只是在自学Java编码,这就是为什么我知道的不多。这里有一个片段可以帮助您: public void write() throws IOException, WriteException {

我有一个excel文档,我想用java编辑或输入其中的数据。我尝试过,但我能做的只是删除excel中的数据,并将其替换为我刚才输入的数据。我正在为我的编译器使用Netbeans。我的输出是GUI/JFrame 如何将数据插入特定的列、行和工作表?? 示例我想将其插入C12、E11、表1等中

谢谢你


我只是在自学Java编码,这就是为什么我知道的不多。

这里有一个片段可以帮助您:

public void write() throws IOException, WriteException {
    File file = new File("file_location");
    WorkbookSettings wbSettings = new WorkbookSettings();
    wbSettings.setLocale(new Locale("en", "EN"));
    WritableWorkbook wb= Workbook.createWorkbook(file, wbSettings);
    wb.createSheet("My Spreadsheet", 0);
    WritableSheet excel = wb.getSheet(0);
    createLabel(excel);
    createContent(excel);
    wb.write();
    wb.close();
}

这只是xls而不是xlsx的示例。你可以参考。如果要在xlsx中编辑/输入数据(可以使用XSSF工作簿和XSSFSheet)

    try {
        //Get the excel file.
        FileInputStream file = new FileInputStream(new File("(which sheet you want to modify or edit(put the path here)"));

        //Get workbook for XLS file.
        HSSFWorkbook yourworkbook = new HSSFWorkbook(file);

        //Get first sheet from the workbook.
        //If there have >1 sheet in your workbook, you can change it here IF you want to edit other sheets.
        HSSFSheet sheet1 = yourworkbook.getSheetAt(0);

        // Get the row of your desired cell.
        // Let's say that your desired cell is at row 2.
        Row row = sheet1.getRow(1);
        // Get the column of your desired cell in your selected row.
        // Let's say that your desired cell is at column 2.
        Cell column = row.getCell(1);
        // If the cell is String type.If double or else you can change it.
        String updatename = column.getStringCellValue();
        //New content for desired cell.
        updatename="Lala";
        //Print out the updated content.
        System.out.println(updatename);
        //Set the new content to your desired cell(column).
        column.setCellValue(updatename); 
        //Close the excel file.
        file.close();
        //Where you want to save the updated sheet.
        FileOutputStream out = 
            new FileOutputStream(new File("(where you want to save?.Put the path here)"));
        yourworkbook.write(out);
        out.close();

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }