gpt4 book ai didi

java - 使用 java 将数据列表写入 Excel 文件中的特定列所需的帮助

转载 作者:太空宇宙 更新时间:2023-11-04 07:27:53 32 4
gpt4 key购买 nike

我已经编写了一个代码,它读取 Excel 公式单元格中的数据并返回一个字符串,现在我想将字符串值列表写入特定的工作表和特定的列。有人可以给我提供示例代码片段吗?例如:将数据列表写入 Excel 文件的“C”列。我的代码如下所示:

 @Test 

public void SampleCustNumFormat() throws Exception {
String [][] myXL = getExcelData();

//See what has been read from Excel
for (int i=0; i<xRows; i++)
{
for (int j=3; j<xCols; j++)
{
System.out.println (" Cust Num " + myXL[i][j]);
}
}
}

public String [][] getExcelData() throws Exception {
String [][] tabArray=null;
FileInputStream fi = new FileInputStream("C:\\SCE docs\\Automation\\CustomerAccount_Information.xls");
HSSFWorkbook myWB = new HSSFWorkbook(fi);
HSSFSheet mySheet = myWB.getSheetAt(0);

FormulaEvaluator evaluator = myWB.getCreationHelper().createFormulaEvaluator();

xRows = mySheet.getLastRowNum()+1;
xCols = mySheet.getRow(0).getLastCellNum();
tabArray = new String [xRows][xCols];

for (int i=0;i<xRows;i++)
{
HSSFRow row = mySheet.getRow(i);
for (int j=3;j<xCols;j++)
{
HSSFCell cell = row.getCell(j);
CellValue cellValue = evaluator.evaluate(cell);
String value = evaluateFormula(cellValue);
tabArray[i][j]=value;
}
}
return tabArray;
}

private String evaluateFormula(CellValue cellValue) throws Exception{
// TODO Auto-generated method stub

int type = cellValue.getCellType();
Object result=null;
switch (type) {

case HSSFCell.CELL_TYPE_BOOLEAN:
result = cellValue.getBooleanValue();
break;
case HSSFCell.CELL_TYPE_NUMERIC:
result = cellValue.getNumberValue();
break;
case HSSFCell.CELL_TYPE_STRING:
result = cellValue.getStringValue();
break;
case HSSFCell.CELL_TYPE_BLANK:
break;
case HSSFCell.CELL_TYPE_ERROR:
break;

// CELL_TYPE_FORMULA will never happen
case HSSFCell.CELL_TYPE_FORMULA:
break;
}

return result.toString();
}
}





My Output list of string values is :
Cust Num CustAccNum
Cust Num 2-23-456-7891
Cust Num 2-00-006-7891
Cust Num 2-03-456-7891
Cust Num 2-00-234-5678
Cust Num 2-00-023-4891
Cust Num 2-00-234-7891
Cust Num 2-00-345-6781

最佳答案

如果我清楚地理解你的问题,那么你只想在每行的特定列中写入一些数据。如果正确,那么以下内容将为您提供帮助。

  //sheet is the excel sheet and data[] is the array of data you need to write.
For (int i=0; i<=sheet.getLastRowNum(); i++)
sheet.getRow(1).createCell(2).setCellValue(data[i]);

有关详细信息,请使用快速 guide link正如 n0741337 所建议的。

关于java - 使用 java 将数据列表写入 Excel 文件中的特定列所需的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18244495/

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