如何使用java将一个excel单元格分成两个单元格
Posted
技术标签:
【中文标题】如何使用java将一个excel单元格分成两个单元格【英文标题】:How to split one excel cell into two cells using java 【发布时间】:2016-07-03 08:55:56 【问题描述】:我有电子表格,我需要将一个单元格的内容分成两个单元格。
像这样的单元格内容。 姓名 19:00:00
我需要将其拆分为两个单元格,分别为 Name 和 19:00:00
我正在使用 apache poi 来读取 excel 文件。是否有更好的库来读取 excel 文件并使用它。我需要从数据表中删除几列。
【问题讨论】:
请向我们展示您到目前为止所做的尝试。 Apache poi 是该任务的不错选择。 【参考方案1】:你也可以这样做,
第 1 步:在您的情况下读取值是:“Name 19:00:00”到一个临时字符串中,
第 2 步: 使用 apache poi 的 workSheet.removeMergedRegion(索引 - 要取消合并的区域的索引)取消合并单元格。 refer this.
第 3 步: 将您收到的字符串从空间拆分为第 1 步,因此您得到最有可能的字符串数组 ary[0] = Name , ary1 = 19:00:00
第 4 步: 将 ary[0] 写入未合并的第一个单元格,并根据需要写入另一个单元格。
【讨论】:
【参考方案2】: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文件的代码。
【讨论】:
以上是关于如何使用java将一个excel单元格分成两个单元格的主要内容,如果未能解决你的问题,请参考以下文章