我使用POI API从Postgres数据库生成了excel文档。第一列“Ordre”有许多相同的值。但是我想合并具有相同值的单元格。
我想遵循这个算法:
但是我有一个问题,在Java中如何说(cell(i)=cell(i1))
,我不希望它能给出一些令人满意的结果,我开始写这段代码:
for (i=3; i<= sheet1.getPhysicalNumberOfRows() ; i++) {
Cell cell = sheet1.getRow(i).getCell(0);
if (sheet1.getRow(i).getCell(0).getStringCellValue() == sheet1.getRow(i+1).getCell(0).getStringCellValue())
{
CellRangeAddress cellRangeAddress = new CellRangeAddress(i,i+1,0,0);
sheet1.addMergedRegion(cellRangeAddress);
}
}
任何建议都将不胜感激
我有一个类似的要求,我的第一列有重复的值。我尝试了下面的代码,效果很好。这里,我根据第一列中的值合并行。NON_REPTNG_COLS是要合并的列数。您可以修改此方法以满足您的要求。
int first = 1;
int last = 1;
int i = 1;
while (i < spreadsheet.getPhysicalNumberOfRows()) {
first = i;
last = i;
for (int j = i + 1; j < spreadsheet.getPhysicalNumberOfRows(); j++) {
if (spreadsheet.getRow(i).getCell(0).toString()
.equals(spreadsheet.getRow(j).getCell(0).toString())) {
last = j;
}
}
for (int k = 0; k < NON_REPTNG_COLS; k++) {
CellRangeAddress cellRangeAddress = new CellRangeAddress(first,
last, k, k);
spreadsheet.addMergedRegion(cellRangeAddress);
}
i = last + 1;
}
使用
sheet1.getRow(i).getCell(0).toString().equals(sheet1.getRow(i+1).getCell(0).toString()).
例子:
for (i=3; i<= sheet1.getPhysicalNumberOfRows() ; i++) {
Cell cell = sheet1.getRow(i).getCell(0);
if (sheet1.getRow(i).getCell(0).toString().equals( sheet1.getRow(i+1).getCell(0).toString()))
{
CellRangeAddress cellRangeAddress = new CellRangeAddress(i,i+1,0,0);
sheet1.addMergedRegion(cellRangeAddress);
}
}
"=="
用于检查引用是否相等。equals()
方法将用于检查内容是否相等。
这应该返回3,因为如果我将从单元格(2,1)开始,我将通过上下左右移动得到39,39,39,我的方法看起来像find_cells(int[][]矩阵,int行,int col),其中row和col是起点。不要使用任何帮助器方法。我得到1可能是因为我将邻居标记为true,下次当我试图访问它们时,它会跳过它们。很抱歉缩进了。
我有一个示例数据集,如下所示 Col1 Col2 Col3 A 1,2,3 A123 A 4,5 A456 A 1,2,3 A456 A 4,5 A123 我参考了一些解决方案,并尝试了以下方法。但它只追加单个列。
我有一个. xlsx格式的Excel文件。我通过合并单元格以形成各种列来存储数据。我正在通过JavaWeb应用程序读取Excel文件并将其数据保存到数据库(MySQL)。但是当我从合并的单元格中读取时,我会得到空值以及存储在列和标题中的内容。我使用Apache POI。我的代码是: 我在网上搜索了答案,但没有找到任何相关的。
我有两个哈希要合并。它们看起来像这样: 第二个散列看起来像: 我想合并这两个散列数组,结果如下所示: 有没有一种简单的方法来合并这两个哈希,或者我必须逐个遍历哈希并在另一个哈希中找到该键?
问题内容: 我正在尝试将具有相同ID但具有不同列值的不同行合并为一个。 例如 : 我希望将其结合起来,这样结果是: 或者 或上述内容的任何其他变体,以使行以某种方式连接在一起。 任何帮助,将不胜感激!提前致谢。 问题答案: 请先阅读我的评论-除非仅用于报告目的,否则您甚至都不要考虑这样做,并且您想了解如何在普通SQL中做到这一点(而不是使用报告的正确解决方案)工具)。 第二种格式最简单,特别是如果
这是我第一次在这里发帖,所以请直接回答我的问题,我会尽我所能解释我的问题。 我的工作簿中有两个工作表,其中工作表1直观地表示一个有162个方格的托盘中多个单位(A1到A162)的位置。并不是所有的方格都被填满,因为有些方格是空的。 现在,第2页显示了单位A1到A162的数值。我已经使用条件格式为每个值分配颜色。 我试图从sheet2将A1的颜色复制到sheet1中具有A1值的单元格,但没有成功。