我有电子表格,我需要将一个单元格的内容吐到两个单元格中。
单元格内容是这样的。名称 19:00:00
我需要将其拆分为两个单元格,分别作为 Name 和 19:00:00
我正在使用 apache poi 来读取 excel 文件。有没有更好的库来读取 excel 文件并使用它。我需要从数据表中删除几列。
你也可以做同样的事情,
步骤1:将您在这种情况下的值读取为:"名称19:00:00"到一个临时字符串中,
第 2 步:使用 Apache poi 的工作表取消合并单元格.removeMergedRegion(索引 - 要取消合并的区域)。 参考这个。
第 3 步:将您收到的字符串拆分为步骤 1,从空间,因此您最有可能获得字符串数组,ary[0] = 名称, ary1 = 19:00:00
步骤4:将ary[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 文件的代码。