如何使用 java 将一个 excel 单元格拆分为两个单元格



我有电子表格,我需要将一个单元格的内容吐到两个单元格中。

单元格内容是这样的。名称 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 文件的代码。

最新更新