我使用 NetBeans 7.4 实现了以下 Java 类,以便使用用户提供的数据创建 Excel 电子表格:
package registration;
import java.io.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.util.Scanner; // program uses class Scanner
/**
*
* @author user
*/
public class Registration {
/**
* @param args the command line arguments
*/
/** Now a recursive class**/
public static void club(int option, int i, HSSFRow rowhead, HSSFSheet sheet,
HSSFWorkbook hwb) {
if (option <= 12);{
HSSFRow row = sheet.createRow((short)i);
switch (option) {
case 1: System.out.println("Ardboe");
row.createCell((short) 0).setCellValue("Ardboe");
break;
case 2: System.out.println("Moortown");
row.createCell((short) 0).setCellValue("Moortown");
break;
case 3: System.out.println("Ballinderry");
row.createCell((short) 0).setCellValue("Ballinderry");
break;
case 4: System.out.println("The Loup");
row.createCell((short) 0).setCellValue("The Loup");
break;
case 5: System.out.println("Ballymaguigan");
row.createCell((short) 0).setCellValue("Ballymaguigan");
break;
case 6: System.out.println("Brocagh");
row.createCell((short) 0).setCellValue("Brocagh");
break;
case 7: System.out.println("Clonoe");
row.createCell((short) 0).setCellValue("Clonoe");
break;
case 8: System.out.println("Derrylaughan");
row.createCell((short) 0).setCellValue("Derrylaughan");
break;
case 9: System.out.println("Derrytresk");
row.createCell((short) 0).setCellValue("Derrytresk");
break;
case 10: System.out.println("Stewartstown");
row.createCell((short) 0).setCellValue("Stewartstown");
break;
case 11: System.out.println("Ogra Columcille");
row.createCell((short) 0).setCellValue("Ogra Columcille");
break;
case 12: System.out.println("Newbridge");
row.createCell((short) 0).setCellValue("Newbridge");
break;
default: break;
}
}
}
public static void main(String[] args) throws IOException{
// TODO code application logic here
int option;
int i = 1;
HSSFWorkbook hwb=new HSSFWorkbook();
// create Scanner to obtain input from command window
Scanner input = new Scanner( System.in );
String filename="/Users/user/Documents/clubs.xls" ;
HSSFSheet sheet = hwb.createSheet("Clubs in Loughshore");
System.out.println("Select Loughshore Club Number. 1-12. 13 for exit.");
HSSFRow rowhead= sheet.createRow((short)0);
rowhead.createCell((short) 0).setCellValue("Clubs Listed");
FileOutputStream fileOut = new FileOutputStream(filename);
option = input.nextInt();
do{
club(option, i, rowhead, sheet, hwb);
System.out.println("Select Loughshore Club Number. 1-12. 13 for exit.");
option = input.nextInt();
i ++;
}
while (option <= 12);
}
}
但是,当我尝试在 LibreOffice 上打开创建的电子表格时,我不断收到“一般错误:输入/输出错误”。
似乎是什么问题?我正在使用 Mac OS X Mountain Lion。