2008-09-29 4 views

답변

8

:-) 마이크로 소프트 오피스 포맷을 얼마나 사랑 참조, 그래서 여기에 내가 무엇을 발견 :

try { 
    String fileName = "file.xls"; 
    WritableWorkbook workbook = Workbook.createWorkbook(new File(fileName)); 
    workbook.createSheet("Sheet1", 0); 
    workbook.createSheet("Sheet2", 1); 
    workbook.createSheet("Sheet3", 2); 
    workbook.write(); 
    workbook.close(); 
} catch (WriteException e) { 

} 
+0

, 당신은 JXL에 집착하는 이유 어떤 특별한 이유? – kolrie

+0

이미 프로젝트에서 상당히 광범위하게 사용되고 있으며 팀 리더가 아닙니다 : P – Aaron

+0

Gotcha! :) POI HSSF를 사용했으며 매우 유연합니다. 무언가를 근거로 시작한다면, 나는 그 길로 내려 가라고 말할 것입니다. 하지만 JXL, 행운을 빕니다. – kolrie

0

JXL을 사용해야 할 지 모르지만 Excel 파일을 처리하는 데 가장 적합한 라이브러리는 Apache's POI HSSF입니다.

내가 제공 한 웹 사이트에는 많은 예제가 있다고 생각하지만 추가 지원이 필요하면 알려 주시기 바랍니다. 몇 가지 예가있을 수 있습니다.

호기심에서 벗어나 POI는 난독 화 인터페이스가 약하고 HSSF는 끔찍한 스프레드 시트 형식입니다. 당신은 아파치가 드디어 일을 아직도 아직 여기에 게시되지 않은 솔루션이었다가보고 뭔가를 발견 잠시 더 이상 장난 후

2

우선 Java 디렉토리에 Jxl API를 넣고 JXL API를 http://www.andykhan.com/에서 다운로드하고 jxl을 복사 한 다음 C : \ Program Files \ Java \ jre7 \ lib \ ext와 같이 붙여 넣으십시오.

try { 
    String fileName = "file.xls"; 
    WritableWorkbook workbook = Workbook.createWorkbook(new File(fileName)); 
    WritableSheet writablesheet1 = workbook.createSheet("Sheet1", 0); 
    WritableSheet writablesheet2 = workbook.createSheet("Sheet2", 1); 
    WritableSheet writablesheet3 = workbook.createSheet("Sheet3", 2); 
    Label label1 = new Label("Emp_Name"); 
    Label label2 = new Label("Emp_FName"); 
    Label label3 = new Label("Emp_Salary"); 
    writablesheet1.addCell(label1); 
    writablesheet2.addCell(label2); 
    writablesheet3.addCell(label3); 
    workbook.write(); 
    workbook.close(); 
} catch (WriteException e) { 

} 
2

나는 아주 오래된 질문이라는 것을 알고있다. 그러나 나는 또한 셀 값을 추가하는 예에 기여할 수 있다고 생각 : 호기심에서

/** 
* 
* @author Almir Campos 
*/ 
public class Write01 
{ 
    public void test01() throws IOException, WriteException 
    { 
     // Initial settings 
     File file = new File("c:/tmp/genexcel.xls"); 
     WorkbookSettings wbs = new WorkbookSettings(); 
     wbs.setLocale(new Locale("en", "EN")); 
     // Creates the workbook 
     WritableWorkbook wwb = Workbook.createWorkbook(file, wbs); 
     // Creates the sheet inside the workbook 
     wwb.createSheet("Report", 0); 
     // Makes the sheet writable 
     WritableSheet ws = wwb.getSheet(0); 
     // Creates a cell inside the sheet 
     //CellView cv = new CellView(); 
     Number n; 
     Label l; 
     Formula f; 
     for (int i = 0; i < 10; i++) 
     { 
      // A 
      n = new Number(0, i, i); 
      ws.addCell(n); 
      // B 
      l = new Label(1, i, "by"); 
      ws.addCell(l); 
      // C 
      n = new Number(2, i, i + 1); 
      ws.addCell(n); 
      // D 
      l = new Label(3, i, "is"); 
      ws.addCell(l); 
      // E 
      f = new Formula(4, i, "A" + (i+1) + "*C" + (i+1)); 
      ws.addCell(f); 
     } 
     wwb.write(); 
     wwb.close(); 
    } 
} 
-1
public void exportToExcel() { 
    final String fileName = "TodoList2.xls"; 

    //Saving file in external storage 
    File sdCard = Environment.getExternalStorageDirectory(); 
    File directory = new File(sdCard.getAbsolutePath() + "/javatechig.todo"); 

    //create directory if not exist 
    if(!directory.isDirectory()){ 
     directory.mkdirs(); 
    } 

    //file path 
    File file = new File(directory, fileName); 

    WorkbookSettings wbSettings = new WorkbookSettings(); 
    wbSettings.setLocale(new Locale("en", "EN")); 
    WritableWorkbook workbook; 


    try { 
     workbook = Workbook.createWorkbook(file, wbSettings); 
     //Excel sheet name. 0 represents first sheet 
     WritableSheet sheet = workbook.createSheet("MyShoppingList", 0); 



     Cursor cursor = mydb.rawQuery("select * from Contact", null); 

     try { 
      sheet.addCell(new Label(0, 0, "id")); // column and row 
      sheet.addCell(new Label(1, 0, "name")); 
      sheet.addCell(new Label(2,0,"ff ")); 
      sheet.addCell(new Label(3,0,"uu")); 
      if (cursor.moveToFirst()) { 
       do { 
        String title =cursor.getString(0) ; 
        String desc = cursor.getString(1); 
        String name=cursor.getString(2); 
        String family=cursor.getString(3); 

        int i = cursor.getPosition() + 1; 
        sheet.addCell(new Label(0, i, title)); 
        sheet.addCell(new Label(1, i, desc)); 
        sheet.addCell(new Label(2,i,name)); 
        sheet.addCell(new Label(3,i,family)); 
       } while (cursor.moveToNext()); 
      } 
      //closing cursor 
      cursor.close(); 
     } catch (RowsExceededException e) { 
      e.printStackTrace(); 
     } catch (WriteException e) { 
      e.printStackTrace(); 
     } 
     workbook.write(); 
     try { 
      workbook.close(); 
     } catch (WriteException e) { 
      e.printStackTrace(); 
     } 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 
관련 문제