我有电子表格,我需要将一个单元格的内容吐出到两个单元格中。
像这样的细胞内容。 姓名19:00:00
我需要将其分为两个单元格作为Name和19:00:00
我正在使用apache poi来阅读excel文件。有没有更好的库来阅读excel文件并使用它。我需要从数据表中删除几个列。
答案 0 :(得分:0)
你可以做同样的事情,
第1步:在您的情况下读取的值是:"名称19:00:00"一个临时字符串,
第2步:使用apache poi的workSheet.removeMergedRegion(索引 - 取消合并的区域)取消合并单元格。 refer this.
第3步:将你从第一步收到的字符串拆分为空格,这样就得到了最有可能的字符串数组,ary [0] = Name, ary 1 = 19:00:00
第4步:将ary [0]写入未合并的第一个单元格,同样根据您的意愿将其写入另一个单元格。
答案 1 :(得分:0)
import java.io.File;
import java.io.FileInputStream;
import java.util.Iterator;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class Readsheet
{
static XSSFRow row;
public static void main(String[] args) throws Exception
{
FileInputStream fis = new FileInputStream(
new File("G:\\test.xlsx"));
XSSFWorkbook workbook = new XSSFWorkbook(fis);
XSSFSheet spreadsheet = workbook.getSheetAt(0);
Iterator < Row > rowIterator = spreadsheet.iterator();
while (rowIterator.hasNext())
{
row = (XSSFRow) rowIterator.next();
Iterator < Cell > cellIterator = row.cellIterator();
while ( cellIterator.hasNext())
{
Cell cell = cellIterator.next();
switch (cell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC:
System.out.print(
cell.getNumericCellValue() + " ; " );
break;
case Cell.CELL_TYPE_STRING:
System.out.print(
cell.getStringCellValue() + " ; " );
break;
default:
}
}
System.out.println();
}
fis.close();
}
}
这是我用来读取excel文件的代码。