用JAVA从Excel sheet 2007中读取数据
我在尝试阅读Excel 2007电子表格(.xlsx)时遇到问题。我试图通过使用在JAVA中实现该方法,但出现以下错误: 线程“main”java.lang.NoClassDefFoundError中出现异常: org/apache/xmlbeans/XmlException 这是我的方法:用JAVA从Excel sheet 2007中读取数据,java,excel,excel-2007,xlsx,Java,Excel,Excel 2007,Xlsx,我在尝试阅读Excel 2007电子表格(.xlsx)时遇到问题。我试图通过使用在JAVA中实现该方法,但出现以下错误: 线程“main”java.lang.NoClassDefFoundError中出现异常: org/apache/xmlbeans/XmlException 这是我的方法: public void No_rows() throws IOException { File inputWorkbook = new File(inputFile); FileInput
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();
}
}
}
公共类Readxlsx{
公共静态void main(字符串[]args){
FileOutputStream=null;
FileInputStream fis=null;
尝试
{
fos=新文件输出流(新文件(“D:\\prac\\sample1.xlsx”);
XSSF工作簿wb=新XSSF工作簿();
对于@Michael-O在评论中提到的(int m=0;m,类路径中缺少XML bean。可以在中找到XMLBeans库。
您必须在构建路径中包含xmlbeans库。它通常位于poi apache库的ooxml库中