gpt4 book ai didi

java - 用JAVA从Excel工作表2007读取数据

转载 作者:行者123 更新时间:2023-12-01 05:41:46 24 4
gpt4 key购买 nike

我在尝试读取 Excel 2007 电子表格 (.xlsx) 时遇到问题。我正在尝试使用 POI library 在 JAVA 中实现该方法,但我收到此错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlException

这是我的方法:

public void No_rows() throws IOException  {
File inputWorkbook = new File(inputFile);
FileInputStream w = new FileInputStream(inputWorkbook);
XSSFWorkbook workbook = new XSSFWorkbook(w);
XSSFSheet sheet = workbook.getSheetAt(0);
Iterator rows = sheet.rowIterator();
int number=sheet.getLastRowNum();
this.num_rows = number;
w.close();
}

最佳答案

这是创建并读取 *.xlsx 文件。如果您收到该错误,请包含 jaxp--api-1.4.jar

public class Readxlsx {
public static void main(String[] args) {
FileOutputStream fos = null;
FileInputStream fis = null;
try
{
fos = new FileOutputStream(new File("D:\\prac\\sample1.xlsx"));
XSSFWorkbook wb = new XSSFWorkbook();

for(int m=0;m<3;m++){
if(m==0)
{
XSSFSheet sh = wb.createSheet("Sachin");
System.out.println(" Sheet NO:"+m);

for (int k = 0; k < 30; k++) {
XSSFRow row = sh.createRow((short)k);
for (int i = 0; i < 30; i++) {
XSSFCell cell = row.createCell((short)i);
cell.setCellValue(wb.getSheetName(m)+i);
}
}

}
else if(m==1){
XSSFSheet sh1 = wb.createSheet("Dravid");
System.out.println(" Sheet NO:"+m);

for (int k = 0; k < 30; k++) {
XSSFRow row = sh1.createRow((short)k);
for (int i = 0; i < 30; i++) {
XSSFCell cell = row.createCell((short)i);
cell.setCellValue(wb.getSheetName(m)+i);
}
}

}
else
{

XSSFSheet sh2 = wb.createSheet("Dhoni");
System.out.println(" Sheet NO:"+m);

for (int k = 0; k < 30; k++) {
XSSFRow row = sh2.createRow((short)k);
for (int i = 0; i < 30; i++) {
XSSFCell cell = row.createCell((short)i);
cell.setCellValue(wb.getSheetName(m)+i);
}
}
}
}

wb.write(fos);
fos.close();

fis= new FileInputStream(new File("D:\\prac\\sample1.xlsx"));
XSSFWorkbook workbook = new XSSFWorkbook(fis);
XSSFSheet sheet = workbook.getSheetAt(0);
java.util.Iterator<org.apache.poi.ss.usermodel.Row> rows = sheet.rowIterator();
int number=sheet.getLastRowNum();
System.out.println(" number of rows"+ number);

while (rows.hasNext())
{
XSSFRow row = ((XSSFRow) rows.next());
int r=row.getRowNum();
System.out.println(" Row NO:"+r);
java.util.Iterator<org.apache.poi.ss.usermodel.Cell> cells = row.cellIterator();

while(cells.hasNext()) {
XSSFCell cell = (XSSFCell) cells.next();
String Value=cell.getStringCellValue();
System.out.println(Value);
}
}
}
catch(Exception e) {
e.printStackTrace();
}
}
}

关于java - 用JAVA从Excel工作表2007读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6966106/

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