如何解决不能在Java中实例化types的工作簿?

您好我想从一个文件夹复制一个Excel工作表到其他文件夹,但一个错误正在定期发生Cannot instantiate the type Workbook我无法理解这个语法错误,请参阅我的代码在下面 –

  package com.esurfer.db; import java.text.SimpleDateFormat; import com.esurfer.db.DBConn; import com.esurfer.db.GetExcelNo; import jxl.Cell; import jxl.CellType; import jxl.DateCell; import jxl.Sheet; import jxl.Workbook; import jxl.*; public class DemoFile { // import data from excel to mysql public boolean importdata() { //Create a new Workbook by excel file path Workbook wb = new Workbook("d:\\test\\book1.xls"); //Create a Worksheets object with reference to //the sheets of the Workbook. WorksheetCollection sheets = wb.getWorksheets(); //Copy data to a new sheet from an existing //sheet within the Workbook. sheets.addCopy("MySheet"); //Save the excel file. wb.save("d:\\test\\mybook.xls"); return true; } private static java.sql.Timestamp getCurrentTimeStamp() { java.util.Date today = new java.util.Date(); return new java.sql.Timestamp(today.getTime()); } } 

请build议我解决这个语法错误谢谢

Workbook是一个抽象类,所以你不能创build它的一个实例。 你可以做的是使用它的静态工厂方法:

 Workbook sourceWb = Workbook.getWorkbook(new File("d:\\test\\book1.xls")); 

您可以在本教程或API中了解更多信息。

看看getWorkbook()createWorkbook()

Workbook workbook = Workbook.getWorkbook(new File("d:\\test\\book1.xls"));

在做之前,你应该阅读它是如何完成的。

你必须使用:

 Workbook.createWorkbook(new File("d:\\test\\book1.xls")); 

创build一个工作簿。 你不能实例化这个类。