当前位置: 首页 > 知识库问答 >
问题:

在java中写入excel中的特定单元格

金阳曜
2023-03-14

如何使用Apache POI将文本/图像写入特定的合并单元格。特定单元格意味着,我直接将文本或图像写入B3: D7。下面的代码是每个索引的手动代码,而不是单元格的特定名称和数量。我想通过单元格名称和编号放置。

    ClientAnchor anchor = helper.createClientAnchor();

    //create an anchor with upper left cell _and_ bottom right cell
    anchor.setCol1(1); //Column B
    anchor.setRow1(2); //Row 3
    anchor.setCol2(2); //Column C
    anchor.setRow2(3); //Row 4

共有2个答案

终育
2023-03-14

您可以使用工作表。addMergedRegion(新的CellRangeAddress(firstRow,lastRow,firstCol,lastCol)) 。为了获得索引,可以使用CellReference。convertColStringToIndex(“B”) 以获取列的索引。行的索引很简单,它只是数字1,例如对于B3,索引是2。

D3:G16的示例解:

int firstRow = 2; // 3-1
int lastRow = 15; // 16-1
int firstCol = CellReference.convertColStringToIndex("D");
int lastCol = CellReference.convertColStringToIndex("G");
sheet.addMergedRegion(new CellRangeAddress(firstRow,lastRow,firstCol,lastCol));
汪辰阳
2023-03-14

这里有一个例子

public class MMM {
    static void mergeCells(XSSFSheet sheet, String cells) {
        String regex = "([A-Z]+)(\\d+):([A-Z]+)(\\d+)";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(cells);

        if(matcher.matches()) {
            int col1 = CellReference.convertColStringToIndex(matcher.group(1));
            int col2 = CellReference.convertColStringToIndex(matcher.group(3));

            int row1 = Integer.parseInt(matcher.group(2)) - 1;
            int row2 = Integer.parseInt(matcher.group(4)) - 1;

            sheet.addMergedRegion(new CellRangeAddress(row1, row2, col1, col2));
        }
    }

    public static void main(String[] args) throws IOException {
        OutputStream outputStream = new FileOutputStream("wwww2.xlsx");

        XSSFWorkbook workbook = new XSSFWorkbook();
        XSSFSheet sheet = workbook.createSheet();

        mergeCells(sheet, "AAD10:ADD23");

        workbook.write(outputStream);
        outputStream.close();
    }
}
 类似资料:
  • 有人知道从工作簿中的每个工作表中提取某个单元格值的命令吗?或者我可以写一个简单的宏?

  • 问题内容: 我有一个Excel工作表,它在某些单元格中已经有一些值。 对于前:- 我希望大熊猫写特定的单元格而不接触任何其他单元格,工作表等 这是我尝试的代码。 但是,此代码将删除较旧的单元格值。 我已经提到过:-如何在不覆盖数据的情况下(使用熊猫)写入现有的excel文件? 但是此解决方案不起作用。 问题答案: 我无法使用熊猫来完成我在问题中提出的要求,但是可以使用来解决它。 我将编写一些代码片

  • 问题内容: 如何在poi的帮助下在单元格中写下我的全部价值? 即如果值是1000.000,那么我怎么能写出完整的值而不会在“之后”截断000。与POI?表示我想要全部价值。 就我而言,只需要1000,但这对我来说不是正确的格式。 问题答案: 您必须设置要存储此数字的单元格的“格式”。示例代码: 来源:http : //poi.apache.org/spreadsheet/quick- guide.

  • 本文向大家介绍python3.7 openpyxl 在excel单元格中写入数据实例,包括了python3.7 openpyxl 在excel单元格中写入数据实例的使用技巧和注意事项,需要的朋友参考一下 本来我是想尝试,选中某个多个单元格复制到同一个sheet的其他位置,找了很多资料没有找到,目前只有这么一个办法,如果有大佬看到,欢迎补充请教。 补充知识:【openpyxl】python中对Exc

  • 问题内容: 我必须在csv文件中的特定单元格(例如第8个单元格)中写入一个值。我可以看到有一种写整行的方法,但是我看不到有什么可以向特定单元格写入值的方法。 问题答案: 该 CSV模块 提供了一些工具来读取和写入的CSV文件,但 不允许修改特定的细胞原位 。 即使您在问题中突出显示的方法也不允许您标识和覆盖特定行。而是将参数写入编写器的文件对象,实际上,它只是将与编写器关联的csv文件追加了一行。

  • 我正在尝试做一个程序,计算一些东西,并将结果插入到表格中等式旁边的单元格中。我不想给每一个单元格我想要插入的结果不同的类,因为如果我必须这样做1000次,那么代码会变得乱七八糟,我会为表中的每一个单元格提供1000个不同的ID。有没有一个函数可以获取一个单元格的索引或其他东西,然后我可以将值插入到那个单元格中?还是唯一的办法就是制作这些ID?