gpt4 book ai didi

java - 无法在Excel中插入数字格式的数据

转载 作者:行者123 更新时间:2023-11-30 10:54:43 25 4
gpt4 key购买 nike

我有下面的 Java (Selenium) 方法可以将数据插入 Excel 工作表:

private static void getPaceNumber(WebDriver chromeDriver, String dBName, XSSFSheet paceSheet, String pubName, int i,
XSSFCell cell, XSSFWorkbook workbook) throws Exception {
CellStyle style = workbook.createCellStyle();
cell = paceSheet.getRow(i).createCell(1);
if (dBName == "" || dBName.equals("null")) {
cell.setCellValue("N/A");
} else {
chromeDriver.findElement(By.xpath("html/body/form[2]/b/b/table/tbody/tr[2]/td[2]/textarea"))
.sendKeys("\"" + dBName + "\"");
chromeDriver.findElement(By.xpath("html/body/form[2]/b/b/table/tbody/tr[4]/td[2]/input[1]")).click();
List<WebElement> pace = chromeDriver
.findElements(By.xpath("html/body/form[2]/table[1]/tbody/tr[2]/td[2]/input[1]"));
int paceSize = pace.size();
if (paceSize >= 1) {
int dbPaceNumber = Integer.parseInt(
chromeDriver.findElement(By.xpath("html/body/form[2]/table[1]/tbody/tr[2]/td[2]/input[1]"))
.getAttribute("value"));
chromeDriver.findElement(By.xpath(".//*[@id='searchPublication']")).click();
chromeDriver.findElement(By.xpath("html/body/form[2]/b/b/table/tbody/tr[2]/td[2]/textarea"))
.sendKeys("\"" + pubName + "\"");
chromeDriver.findElement(By.xpath("html/body/form[2]/b/b/table/tbody/tr[4]/td[2]/input[1]")).click();
int pubPaceNumber = Integer.parseInt(
chromeDriver.findElement(By.xpath("html/body/form[2]/table[1]/tbody/tr[2]/td[2]/input[1]"))
.getAttribute("value"));
if (dbPaceNumber == pubPaceNumber) {
cell.setCellValue(dbPaceNumber);
} else {

cell.setCellValue(dbPaceNumber + "\n" + pubPaceNumber);
style.setWrapText(true);
cell.setCellStyle(style);
}

} else {
List<WebElement> table = chromeDriver
.findElements(By.xpath("html/body/form[2]/table[1]/tbody/tr[4]/td/b"));
int tabSize = table.size();
if (tabSize == 1) {
chromeDriver.findElement(By.xpath(".//*[@id='searchPublication']")).click();
chromeDriver.findElement(By.xpath("html/body/form[2]/b/b/table/tbody/tr[2]/td[2]/textarea"))
.sendKeys("\"" + pubName + "\"");
chromeDriver.findElement(By.xpath("html/body/form[2]/b/b/table/tbody/tr[4]/td[2]/input[1]"))
.click();
List<WebElement> paceWithFPN = chromeDriver
.findElements(By.xpath("html/body/form[2]/table[1]/tbody/tr[2]/td[2]/input[1]"));
int paceWithFPNSize = paceWithFPN.size();
if (paceWithFPNSize >= 1) {
int paceSubNumber = Integer.parseInt(chromeDriver
.findElement(By.xpath("html/body/form[2]/table[1]/tbody/tr[2]/td[2]/input[1]"))
.getAttribute("value"));

cell.setCellType(Cell.CELL_TYPE_NUMERIC);
cell.setCellValue(paceSubNumber);
} else {
cell.setCellValue("N/A");
}

} else {
cell.setCellValue("N/A");
}
}
}
}

我想用两个不同的条件检查值,如果它们相同,则将值插入 Excel 单元格,否则将两个值插入一个单元格。基本上检索到的值是整数类型。我能够正确插入值,但如果有两个值,它们将作为单行插入(一个延续另一个)。单个值在 Excel 单元格中自动右对齐(一般数字格式)。在有两个值的地方,我需要双击单元格,然后它们以两行格式显示,并且它们显示为字符串(左对齐)。

我知道当我使用 +"XXX"+ 时,结果是一个字符串,但是我怎样才能把它变成一个整数呢?

与单值一样,它必须右对齐,还有什么方法可以让我在单元格内自动换行?

**Current output:**                      **Expected Output:** 

enter image description here enter image description here

最佳答案

我认为您必须增加包含该单元格的行的行高。

一开始:

int defaultHeight = paceSheet.getRow(0).getHeight();

以后,当您创建这样一个单元格时:

paceSheet.getRow(i).setHeight(defaultHeight*2);

那些行:

style.setWrapText(true);
style.setAlignment(CellStyle.ALIGN_RIGHT);

是您只需要做一次的事情(例如,在创建之后),因为所有受影响的单元格的 style 都是相同的。

关于java - 无法在Excel中插入数字格式的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33546638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com