Trang chủ > Java > Đọc tài liệu Excel Sheet trong Java

Đọc tài liệu Excel Sheet trong Java

Đối với một số lý do tôi thấy Apache POI khó sử dụng cho việc đọc trang tính, trong điều khoản của công ước đặt tên và mã số như vậy tôi đã tìm kiếm một thư viện để đọc Excel Sheet trong Java và tôi dừng lại ở JXL.

Java Excel APIJXL là một Java dựa trên API cho phép chúng tôi để đọc / ghi / chỉnh sửa Sheet Excel. Các nghĩ rằng chính tôi thích về nó đã được đơn giản của nó trên Apache POI trọn gói. Bài viết này sẽ chỉ cho bạn cách thức chúng tôi có thể đọc bằng cách sử dụng Excel Sheet JXL.

Bây giờ ở đây tôi sẽ phải đọc một trang tính có nội dung:

EmpId Tên Chỉ
1 ABC Kỹ sư phần mềm
2 DFG Sr kỹ sư phần mềm
3 LỢI Trưởng nhóm
4 LKJ Quản lý dự án
5 QWE Phần mềm Architech

Email của bạn:


Tôi đã tải lên cùng một trang tính trên máy chủ bạn có thể tải xuống từ đây: Download Excel Sheet

  1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 ; import java.io.FileInputStream ; import java.io.IOException ; import java.io.InputStream ; import java.util.Locale ; import jxl.Cell ; import jxl.Sheet ; import jxl.Workbook ; import jxl.WorkbookSettings ; import jxl.read.biff.BiffException ; import jxl.DateCell ; public class ReadXLSheet { public void init ( String filePath ) { FileInputStream fs = null ; try { fs = new FileInputStream ( new File ( filePath ) ) ; contentReading ( fs ) ; } catch ( IOException e ) { e. printStackTrace ( ) ; } catch ( Exception e ) { e. printStackTrace ( ) ; } finally { try { fs. close ( ) ; } catch ( IOException e ) { e. printStackTrace ( ) ; } } } //Returns the Headings used inside the excel sheet public void getHeadingFromXlsFile ( Sheet sheet ) { int columnCount = sheet. getColumns ( ) ; for ( int i = 0 ; i < columnCount ; i ++ ) { System . out . println ( sheet. getCell ( i, 0 ) . getContents ( ) ) ; } } public void contentReading ( InputStream fileInputStream ) { WorkbookSettings ws = null ; Workbook workbook = null ; Sheet s = null ; Cell rowData [ ] = null ; int rowCount = '0' ; int columnCount = '0' ; DateCell dc = null ; int totalSheet = 0 ; try { ws = new WorkbookSettings ( ) ; ws. setLocale ( new Locale ( "en" , "EN" ) ) ; workbook = Workbook. getWorkbook ( fileInputStream, ws ) ; totalSheet = workbook. getNumberOfSheets ( ) ; if ( totalSheet > 0 ) { System . out . println ( "Total Sheet Found:" + totalSheet ) ; for ( int j = 0 ; j < totalsheet ; j ++ ) { System . out . println ( "Sheet Name:" + workbook. getSheet ( j ) . getName ( ) ) ; } } //Getting Default Sheet ie 0 s = workbook. getSheet ( 0 ) ; //Reading Individual Cell getHeadingFromXlsFile ( s ) ; //Total Total No Of Rows in Sheet, will return you no of rows that are occupied with some data System . out . println ( "Total Rows inside Sheet:" + s. getRows ( ) ) ; rowCount = s. getRows ( ) ; //Total Total No Of Columns in Sheet System . out . println ( "Total Column inside Sheet:" + s. getColumns ( ) ) ; columnCount = s. getColumns ( ) ; //Reading Individual Row Content for ( int i = 0 ; i < rowCount ; i ++ ) { //Get Individual Row rowData = s. getRow ( i ) ; if ( rowData [ 0 ] . getContents ( ) . length ( ) != 0 ) { // the first date column must not null for ( int j = 0 ; j < columnCount ; j ++ ) { switch ( j ) { case 0 : System . out . println ( "Employee Id:" + rowData [ j ] . getContents ( ) ) ; case 1 : System . out . println ( "Employee Name:" + rowData [ j ] . getContents ( ) ) ; case 2 : System . out . println ( "Employee Designation:" + rowData [ j ] . getContents ( ) ) ; default : break ; } } } } workbook. close ( ) ; } catch ( IOException e ) { e. printStackTrace ( ) ; } catch ( BiffException e ) { e. printStackTrace ( ) ; } } public static void main ( String [ ] args ) { try { ReadXLSheet xlReader = new ReadXLSheet ( ) ; xlReader. init ( "/home/hitesh/Desktop/test.xls" ) ; } catch ( Exception e ) { e. printStackTrace ( ) ; } } } java.io.File nhập khẩu; nhập khẩu java.io.FileInputStream; nhập khẩu java.io.IOException; java.io.InputStream nhập khẩu; nhập khẩu java.util.Locale; jxl.Cell nhập khẩu; nhập khẩu jxl.Sheet; jxl.Workbook nhập khẩu; jxl.WorkbookSettings nhập khẩu; nhập khẩu jxl.read.biff.BiffException; nhập khẩu jxl.DateCell; public class ReadXLSheet (public void init (String filePath) (FileInputStream fs = null; try (FileInputStream fs = mới (new File (filePath)); contentReading (fs);) catch (IOException e) (e. printStackTrace ();) catch (Exception e) (e. printStackTrace ();) cuối cùng (try (fs. gần ();) catch (IOException e) (e bên trong. printStackTrace ();))) / / Trả về các nhóm sử dụng các trang tính công cộng void getHeadingFromXlsFile (tấm bảng) (int columnCount = tờ. getColumns (); for (int i = 0; i <columnCount; i + +) (Hệ thống.. ra println (sheet. getCell (i, 0)). getContents ();)) public void contentReading (InputStream fileInputStream) (WorkbookSettings được = null; Workbook bảng tính = null; Sheet s = null; Cell rowData [] = null; int rowCount = "0"; int columnCount = "0"; DateCell dc = null; int totalSheet = 0; try (được = WorkbookSettings mới (); được Locale. setLocale (mới ("en", "EN" )); workbook = Workbook (. getWorkbook fileInputStream, được); totalSheet = workbook;. getNumberOfSheets () nếu (totalSheet> 0) (Hệ thống.. ra println ("Tổng số Bảng tìm thấy:" + totalSheet); for (int j = 0; j <totalsheet; j + +) (Hệ thống.. ra println ("Bảng Tên:" + workbook. getSheet (j). getName ()),)) / / Bắt Default Bảng tức là 0 s = workbook. getSheet ( 0); / / Đọc cá nhân Cell getHeadingFromXlsFile (s); / / Tổng số No Of Rows trong Sheet, sẽ trả lại bạn không có các hàng đang chiếm đóng với một số dữ liệu hệ thống.. ra println ("Tổng số dòng bên trong Sheet:" + s ). getRows (); rowCount = s. getRows (); / / Tổng số No Of Cột trong Bảng hệ thống. ra. println ("Tổng số cột bên trong Sheet:" + s. getColumns ()); columnCount = s. getColumns ( ); / / Đọc nội dung cho các cá nhân Row (int i = 0; i <rowCount; i + +) (/ / Get rowData Row cá nhân = s. getRow (i), nếu (rowData [0].. getContents () chiều dài ())! = 0 (/ / cột ngày đầu tiên không phải vô giá trị cho (int j = 0; j <columnCount; j + +) (switch (j) (case 0: Hệ thống.. ra println ("Employee ID: "+ rowData [j]. getContents ()); trường hợp 1: Hệ thống.. ra println (" Employee Name: "+ rowData [j]. getContents ()); trường hợp 2: Hệ thống.. ra println (" Employee hiệu: "+ rowData [j]. getContents ()); mặc định: break;)))) bảng tính. gần ();) catch (IOException e) (e printStackTrace ();) catch (BiffException e) (e printStackTrace ( );)) public static void main (String [] args) (try (ReadXLSheet xlReader = new ReadXLSheet (); xlReader (. init "/ home / Hitesh / Desktop / test.xls");) catch (Exception e) ( e. printStackTrace ();))) 
 Tổng số Bảng tìm thấy: 3 --------------------------------------------- - Bảng Tên: Sheet1 Sheet Tên: Sheet2 Sheet Tên: Sheet3 ------------------------------------- --------- Cột đề: Cột EmpId đề: Cột Tên đề: ----------------------------- hiệu ----------------- Tổng số dòng bên trong Sheet: 6 --------------------------- ------------------- Tổng cộng cột bên trong Sheet: 3 ------------------------- --------------------- Employee Id: EmpId nhân viên Tên: Tên hiệu của nhân viên: Chỉ ----------------- ----------------------------- Employee Id: 1 nhân viên Tên: ABC nhân viên hiệu: kỹ sư phần mềm -------- -------------------------------------- Employee ID: 2 Tên nhân viên: DFG nhân viên hiệu: Sr Kỹ sư phần mềm ---------------------------------------------- Employee Id : 3 nhân viên Tên: LỢI nhân viên hiệu: Trưởng nhóm --------------------------------------- ------- Employee Id: 4 nhân viên Tên: LKJ nhân viên hiệu: Quản lý dự án ------------------------------ ---------------- Employee Id: 5 nhân viên Tên: QWE nhân viên hiệu: Phần mềm Kiến trúc sư 

Đối với các mã sau bằng văn bản i am có thể thực hiện các hoạt động sau đây:

  • Tính toán tổng số của Sheets không có bên trong các Sheet Excel
  • Danh sách tất cả các tên Sheet sử dụng bên trong Excel Sheet
  • Tìm hiểu cá nhân Cell để chỉ định vị trí tế bào - trong mã đã đọc cột nhóm tức là hàng 1
  • Đọc dòng Tổng số sửa đổi trong Excel Sheet
  • Tìm hiểu Cột Tổng số sửa đổi trong Excel Sheet
  • Đọc nội dung cá nhân Row

Tìm kiếm Tuỳ chỉnh


Phổ biến các điều:

Chia sẻ và thưởng thức:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • IndianPad
  • LinkedIn
  • Live
  • MySpace
  • Netvibes
  • RSS
  • Technorati
  • Yahoo! Bookmarks
  • Yahoo! Buzz
  • Reddit
  • Add to favorites
  • PDF
  • Twitter
Tags: Thể loại: Java Tags:
  1. Ngày 26 tháng 12 năm 2008 tại 10:05 | # 1

    Nếu tôi phải viết mã này bằng cách sử dụng POI, để hoàn thành nhiệm vụ mà bạn đã thực hiện, các mã đã có khá tương tự với rất tương tự như các cuộc gọi API. Tôi thấy mức độ khó khăn như nhiều hơn hoặc ít hơn như nhau khi so sánh với POI. Câu hỏi của tôi là làm thế nào là điều này khác nhau từ POI?

  2. 28 Tháng 12 năm 2008 tại 22:36 | # 2

    Hi Surya,
    Sự khác biệt đi kèm với các gói ước đặt tên được sử dụng. JXL là hoàn toàn được sử dụng cho Excel trong Java. Trường hợp như trong Apache POI có những dự án khác nhau làm cho các tập tin Microsoft Office khác nhau, Ví dụ HWPF, HSSF, HPSF vv Bây giờ là một nhà phát triển bạn phải kiểm tra mà một trong những nếu cho Excel Parsing, tải về các gói và sau đó thực hiện nó.

  3. 02 tháng 1 2009 lúc 11:58 | # 3

    Hi,
    Tôi thích bài hướng dẫn của bạn.
    Manish

  4. Avijit
    Ngày 6 tháng 1 năm 2009 tại 04:10 | # 4

    có vấn đề trong khi có nhiều sheet trong file xls. i muốn accsess giá trị bảng cùng một lúc, nhưng nó sẽ trả về một giá trị ovelap của hai tờ.

    nhưng hướng dẫn là quá tốt.
    plz giải quyết vấn đề

  5. Ngày 6 tháng 1 năm 2009 tại 04:44 | # 5

    Hi Avijit,
    Bạn có thể dán các mã nguồn bạn đang sử dụng.

    Hitesh Agarwal

  6. Vivek Mittal
    11 tháng 1 2009 lúc 14:08 | # 6

    Hi Hitesh,
    Hướng dẫn người đàn ông rất tốt đẹp. Giữ nó lên

  7. Abhishek
    Ngày 18 tháng 2 năm 2009 tại 07:55 | # 7

    Hi Hitesh,

    Làm việc tốt đẹp người đàn ông. Tôi đã có một câu hỏi. Có thể ghi các macro của Excel trong Java và thực hiện các macro trong khi làm việc trên bảng tính.

    Cảm ơn
    Abhi

  8. seeraz
    29 tháng 5 năm 2009 tại 02:41 | # 8

    Great hướng dẫn, thx một lottt ...

  9. Moha
    Ngày 02 tháng 6 năm 2009 tại 07:38 | # 9

    Hi,

    Trước hết, cảm ơn bạn đã hướng dẫn.
    Tôi đã là một vấn đề. Tôi đã tải về các api nhưng tôi không biết được nơi để lưu nó trong nhật thực. Lý do là tôi putted giải nén các tập tin của api vào thư mục plugin nhưng chương trình bạn đã làm ví dụ vẫn còn yêu cầu jxl.
    Ông có thể vui lòng giúp đỡ?
    Cảm ơn bạn.

  10. Rohan
    Ngày 1 tháng 9 năm 2009 tại 04:40 | # 10

    Rất đẹp xls đọc mã .. thanx rất nhiều.

  11. barakha
    02 tháng 9 2009 lúc 1:30 | # 11

    rất tốt đẹp hướng dẫn fro excel đọc. Cảm ơn

  12. Uma
    10 Tháng Chín 2009 lúc 21:19 | # 12

    làm thế nào để đọc dữ liệu từ file excel bằng cách sử dụng tên cột.
    Nói cho ví dụ,
    Địa điểm Quốc gia
    Chennai Ấn Độ
    Mumbai của Ấn Độ
    Cần phải đọc bằng cách sử dụng các cột Place, Country.
    Xin vui lòng giúp tôi ra.

  13. Thanh
    Ngày 13 Tháng 10 Năm 2009 lúc 18:06 | # 13

    hi, nếu file excel có 18bm, làm thế nào để đọc?

  14. id
    15 Tháng Mười 2009 lúc 13:17 | # 14

    hey ..
    Tôi đang cố gắng để chạy chương trình yr nhưng nó giữ cho tôi về phiên bản java nên sai 50,0 49,0.

    JXL dosent làm việc với Java 1,5?
    Hãy cho tôi biết nếu có anythign im mất tích?

  15. James Triệu Tử Dương
    Ngày 23 tháng 10 năm 2009 tại 14:36 | # 15

    Làm thế nào chúng ta có thể chèn một hàng mới vào bảng tính?
    Làm thế nào chúng ta có thể sao chép các định dạng hàng hiện có để một hàng mới?

  16. Swamy
    Ngày 28 Tháng 10 2009 lúc 06:03 | # 16

    Hi Hitesh,

    Nice thư viện, giữ nó lên, hữu ích cho người dân.
    Làm thế nào chúng ta có thể chèn một hàng mới vào bảng tính?
    Làm thế nào chúng ta có thể sao chép các định dạng hàng hiện có để một hàng mới?

    Rgds
    Swamy.

  17. Suresh
    Ngày 30 tháng 10 năm 2009 tại 22:31 | # 17

    Suresh Hitesh,

      Ví dụ Nice.  Hướng dẫn là rất tốt.
     Tôi có một vấn đề với đọc dữ liệu từ Excel Sheet, nếu Excel Sheet dữ liệu không phải là bắt đầu từ cột đầu tiên.  nếu dữ liệu Excel tờ không phải là một hình thức tablar
     sau đó làm thế nào để đọc dữ liệu từ Excel Sheet. 
  18. Suresh
    Ngày 30 tháng 10 năm 2009 tại 22:47 | # 18

    hi Hitesh,

     Tôi havae một vấn đề với đọc dữ liệu từ Excel Excel Sheet Sheet.If các dữ liệu không phải là một hình thức tabler sau đó làm thế nào để đọc dữ liệu.  Tôi chạy Ví dụ tương tự, nhưng nó tăng ArrayIndexOutOfBounds ngoại lệ. Plz Giới thiệu Giải pháp cho vấn đề này ..... 
  19. divs
    Ngày 10 tháng 11 2009 tại 05:31 | # 19

    Hi Hitesh,
    Các hướng dẫn của G8 đã được giúp đỡ

    Cảm ơn

  20. Ganesh
    Ngày 10 tháng 11 2009 tại 23:23 | # 20

    Hi Hitesh,

    Tôi đã nhận ngoại trừ sau khi tôi đã cố gắng để chạy các ReadXLSheet.java.

    jxl.read.biff.BiffException: Không thể nhận ra dòng OLE
    tại jxl.read.biff.CompoundFile. (CompoundFile.java: 116)
    tại jxl.read.biff.File. (File.java: 127)
    tại jxl.Workbook.getWorkbook (Workbook.java: 268)
    tại com.sample.ReadXLSheet.contentReading (ReadXLSheet.java: 65)
    tại com.sample.ReadXLSheet.init (ReadXLSheet.java: 30)
    tại com.sample.ReadXLSheet.main (ReadXLSheet.java: 20)

    Điều gì có thể lý do cho việc này.

    Ban đầu tôi có những ngoại lệ sau khi tôi đã cố gắng chạy ReadXLSheet.java.

    java.lang.UnsupportedClassVersionError: số phiên bản Bad tại. class file

    Sau đó tôi tuân thủ các nguồn jexcelapi_2_6_12 với JVM của tôi và sử dụng bình tạo ra. Bây giờ tôi không nhận được lỗi này, nhưng tôi đang nhận
    jxl.read.biff.BiffException. u có thể xin vui lòng giúp đỡ tôi để giải quyết vấn đề này.

    cảm ơn,
    ganesh

  21. 14 Tháng 11 năm 2009 tại 10:04 | # 21

    Hi Ganesh,
    Đã không gặp lỗi này. Sẽ phải kiểm tra này ra.

    Cảm ơn,
    Hitesh Agarwal

  22. 30 tháng 11 2009 tại 23:03 | # 22

    Hi Hitesh,
    Thanku cho ý kiến ur và hướng dẫn.
    Tôi có một vấn đề liên quan đến trang tính.
    i có hai trang tính, Cả hai đều ở cùng một hệ thống.
    nếu tôi không thay đổi trong một trang tính, sau đó nó ảnh hưởng đến bảng excel khác.
    i am có thể ping hệ thống khác và có thể gửi tin nhắn hệ thống khác bằng cách sử dụng lập trình socket.
    nhưng tôi không biết làm thế nào để cập nhật các trang tính mà là trên các hệ thống khác như là im cùng làm khi trang tính tại cùng một hệ thống.

    Xin vui lòng trả lời ASAP

    Cảm ơn trước.

  23. Deepak Sharma
    Ngày 30 tháng 12 2009 tại 00:16 | # 23

    @ Ganesh

    Kiểm tra xem ur sử dụng xlsx thay vì.. Xls
    Tôi có được ngoại lệ này (Không thể nhận ra dòng OLE) nếu tôi sử dụng file xlsx mới.
    Vì vậy, bằng cách sử dụng jexcelapi_2_6_12 sẽ giải quyết vấn đề định dạng xlsx?

  24. Swagata
    06 tháng 1 năm 2010 tại 21:56 | # 24

    @ Ganesh

    Kiểm tra xem file test.xls bị chặn .. Nhấp chuột phải và đi đến tài sản. Nếu nó bị chặn, bỏ cấm nó .. Một số tính năng bảo mật trong Windows để chặn một số tập tin đã tải về đến khi bạn bỏ chặn họ .. Hãy thử nếu điều này sẽ giúp!

  25. 7 tháng 1 năm 2010 tại 00:36 | # 25

    cảm ơn cho ^ _ ^ hướng dẫn của bạn

  26. CAG
    Ngày 22 tháng 1 2010 lúc 12:18 | # 26

    cảm ơn bạn rất nhiều, tôi đã được làm việc trên một vấn đề mà tôi cần thiết để file xls da liếc dao cạo (400 +) - chỉ một thời gian. Bạn lưu lại cho tôi ngày với JAR này!

  27. Roshan Khandelwal
    Ngày 31 tháng một năm 2010 at 23:57 | # 27

    Hi tất cả mọi người,
    Mã này hoạt động khá tốt với một trong những thay đổi.

    Sau khi tất cả các trường hợp tuyên bố thêm một break ""
    do đó, mã sửa đổi sẽ là:

    switch (j) (
    trường hợp 0:
    System.out.println ("Employee Id:" + rowData [j]. GetContents ());
    break;
    Trường hợp 1:
    System.out.println ("Employee Name:" + rowData [j]. GetContents ());
    break;
    Trường hợp 2:
    System.out.println ("Employee hiệu:" + rowData [j]. GetContents ());
    break;
    mặc định:
    break;
    )

    Với đoạn code như đã cho, nó vòng qua tất cả các điều kiện ba và cho sản lượng sai lầm.
    Cảm ơn các mã.

  28. Paramjit
    Ngày 18 tháng 2 năm 2010 tại 03:26 | # 28

    Rất hữu ích ... tuyệt vời làm việc

  29. Manjunath
    Ngày 15 tháng 3 năm 2010 tại 11:41 | # 29

    @ Ganesh

    Tôi nhận được cùng một lỗi như Ganesh nhận. tập tin của tôi được lưu dưới dạng xls và. là hết cấm, nhưng vẫn nhận được cùng một BiffException.Please giúp

  30. Prema GV
    Ngày 25 tháng 3 năm 2010 tại 04:41 | # 30

    Hi cảm ơn cho mã ... ... ...
    Mã số làm việc tốt khi tôi chạy lần đầu tiên có kết quả quá ....

    Nhưng khi tôi chạy cùng một mã sau ba lần của exection ... ... cho file của nó không được tìm thấy và trừ điểm null ... ... ... .. tên đường dẫn chỉ ra thì cũng đúng .... plzzzz làm cho tôi trở lại với giải pháp càng sớm càng tốt ... ... ..

  31. Prema GV
    Ngày 25 tháng 3 năm 2010 tại 04:49 | # 31

    Hi cảm ơn cho mã ... ... ...
    Mã số làm việc tốt khi tôi chạy lần đầu tiên có kết quả quá ....

    Nhưng khi tôi chạy cùng một mã sau ba lần của exection ... ... cho file của nó không được tìm thấy và trừ điểm null ... ... ... .. plzzzz làm cho tôi trở lại với giải pháp sớm nhất có thể ... ... ..

    Cảm ơn trước ... ... ... ... ... ...

  32. sadanala
    Ngày 13 Tháng Tư 2010 lúc 00:50 | # 32

    nơi nào tôi nhận được file jar?

  33. Menaka
    19 tháng 4 năm 2010 tại 22:53 | # 33

    Hi Hitesh,
    Làm u có bất kỳ ý tưởng về văn bản. Tập tin xlsx. Nếu có có thể bắt đầu chia sẻ một số code mẫu.
    Cảm ơn

  34. Ngày 21 tháng 4 năm 2010 tại 11:46 | # 34

    Hi Meneka,
    Mới nhất của Apache POI hỗ trợ file xslx.

    Cảm ơn,
    Hitesh Agarwal

  35. Gaurav Arora
    Ngày 06 Tháng Năm 2010 lúc 17:22 | # 35

    Tôi đã tải về mã của bạn và tryied để chạy nó trên nền tảng Ubuntu với jdk6
    nhưng ở thời gian chạy cho thấy nó này
    Ngoại lệ trong \ thread chính \ java.lang.NoClassDefFoundError: ReadXLSheet
    tại java.lang.Class.initializeClass (libgcj.so.10)
    Nguyên nhân: java.lang.ClassNotFoundException: jxl.Cell không tìm thấy trong gnu.gcj.runtime.SystemClassLoader (url = [file phụ huynh :./], = (url = gnu.gcj.runtime.ExtensionClassLoader [], phụ huynh = null ))
    tại java.net.URLClassLoader.findClass (libgcj.so.10)
    tại java.lang.ClassLoader.loadClass (libgcj.so.10)
    tại java.lang.ClassLoader.loadClass (libgcj.so.10)
    tại java.lang.Class.initializeClass (libgcj.so.10)

    thay vì đầu ra

    CAN bạn vui lòng cho tôi biết whats vấn đề với code của tôi tôi không thể nhận được và urget của nó

    tìm hướng giúp đỡ ...
    Cảm ơn trước

  36. 8 Tháng Năm 2010 lúc 02:09 | # 36

    Hi Gaurav,
    Bạn sẽ phải thêm JExcel API trong đường dẫn class của bạn trong khi biên dịch các file java, bạn có thể tải về các JExcelAPI từ http://jexcelapi.sourceforge.net/

    Cảm ơn,
    Hitesh Agarwal

  37. Thomas
    Ngày 24 tháng 5 2010 lúc 07:23 | # 37

    Hi,

    Tôi đã viết các chức năng sau đây:

    public void đọc () throws IOException (
    File inputWorkbook = new File ("c: / temp / test.xls");
    Workbook w;
    try (
    w = Workbook.getWorkbook (inputWorkbook);
    ...
    ) Catch (BiffException e) (
    e.printStackTrace ();
    )
    )

    Khi tôi chạy chức năng này trong một ứng dụng Java bình thường cùng với JFace tất cả mọi thứ hoạt động tốt. Nhưng khi tôi chạy chức năng này bên trong một dự án rcp Tôi nhận được lỗi sau:

    java.lang.ClassNotFoundException: jxl.read.biff.BiffException
    tại org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal (BundleLoader.java: 494)
    tại org.eclipse.osgi.internal.loader.BundleLoader.findClass (BundleLoader.java: 410)
    tại org.eclipse.osgi.internal.loader.BundleLoader.findClass (BundleLoader.java: 398)
    tại org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass (DefaultClassLoader.java: 105)
    tại java.lang.ClassLoader.loadClass (Unknown Source)
    tại model.CollectionManager.newOilFor (CollectionManager.java: 120)
    tại model.CollectionManager.loadCollection (CollectionManager.java: 107)
    tại model.CollectionManager.getCollection (CollectionManager.java: 56)
    tại hellooil.CollectionViewContentProvider.getElements (CollectionViewContentProvider.java: 39)
    ...

    Không ai biết được những gì có thể là sai?

  38. Shan
    Ngày 29 tháng 6 2010 lúc 01:24 | # 38

    Tôi nhận được lỗi này khi tôi chạy các mã được đăng ở trên. Tôi không thực sự hiểu được vấn đề. Cảm ơn trước.

    jxl.read.biff.BiffException: Không thể nhận ra dòng OLE
    tại jxl.read.biff.CompoundFile. (CompoundFile.java: 116)
    tại jxl.read.biff.File. (File.java: 127)
    tại jxl.Workbook.getWorkbook (Workbook.java: 268)
    tại ReadXLSheet.contentReading (ReadXLSheet.java: 55)
    tại ReadXLSheet.init (ReadXLSheet.java: 20)
    tại ReadXLSheet.main (ReadXLSheet.java: 109)

  39. Neeraj
    Ngày 2 tháng 7 năm 2010 tại 08:08 | # 39

    ai có thể giúp tôi bằng văn bản nội dung của một file excel vào một file XML trong java.

    Trên thực tế im có thể đọc được file excel nhưng m cố gắng để xuất dữ liệu vào file xml qua một đối tượng của FileWriter nhưng nó không làm việc ...
    xin vui lòng cung cấp cho tôi với một số mã tốt hơn.
    _________________________________________________
    Đây là code của tôi mà m cố gắng để thực hiện:

    java.io.BufferedWriter nhập khẩu;
    java.io.File nhập khẩu;
    java.io.FileWriter nhập khẩu;
    nhập khẩu java.io.IOException;
    nhập khẩu java.util .*;
    jxl.Cell nhập khẩu;
    jxl.CellType nhập khẩu;
    jxl.Sheet nhập khẩu;
    jxl.Workbook nhập khẩu;
    jxl.read.biff.BiffException nhập khẩu;

    public class ReadExcel (

    public static void main (String [] args) throws IOException (
    InputFile String = "c: / data.xls";

    File inputWorkbook = new File (inputFile);

    File fileout = new File ("C: / data.xml");
    FileWriter FW = new FileWriter (fileout);

    fw.write ("");

    Workbook w;
    try (
    w = Workbook.getWorkbook (inputWorkbook);
    / / Lấy tờ đầu tiên
    Tấm bảng = w.getSheet (0);
    / / Loop hơn trước 10 cột và dòng

    for (int i = 0; i <sheet.getColumns (); i + +) (
    cho (int j = 0; k <sheet.getRows (); j + +) (
    Tế bào tế bào = sheet.getCell (j, i);
    / / CellType type = cell.getType ();
    if (cell.getType () == CellType.LABEL) (
    fw.write ("" + cell.getContents ()+"");
    )

    if (cell.getType () == CellType.NUMBER) (
    fw.write ("" + cell.getContents ()+"");
    )

    )
    )
    fw.write ("");

    ) Catch (BiffException e) (
    e.printStackTrace ();
    )
    )
    )

  40. Neeraj
    Ngày 2 tháng 7 năm 2010 tại 08:11 | # 40

    ai có thể giúp tôi bằng văn bản nội dung của một file excel vào một file XML trong java.

    Trên thực tế im có thể đọc được file excel nhưng m cố gắng để xuất dữ liệu vào file xml qua một đối tượng của FileWriter nhưng nó không làm việc ...
    xin vui lòng cung cấp cho tôi với một số mã tốt hơn.
    _________________________________________________
    Đây là code của tôi mà m cố gắng để thực hiện:
    Chú ý **: tôi đã không thể viết các thẻ trên trang web này, vì vậy tôi được sử dụng dấu ngoặc nhọn cho các thẻ, thay vì niềng răng góc

    java.io.BufferedWriter nhập khẩu;
    java.io.File nhập khẩu;
    java.io.FileWriter nhập khẩu;
    nhập khẩu java.io.IOException;
    nhập khẩu java.util .*;
    jxl.Cell nhập khẩu;
    jxl.CellType nhập khẩu;
    jxl.Sheet nhập khẩu;
    jxl.Workbook nhập khẩu;
    jxl.read.biff.BiffException nhập khẩu;

    public class ReadExcel (

    public static void main (String [] args) throws IOException (
    InputFile String = "c: / data.xls";

    File inputWorkbook = new File (inputFile);

    File fileout = new File ("C: / data.xml");
    FileWriter FW = new FileWriter (fileout);

    fw.write ("(root)");

    Workbook w;
    try (
    w = Workbook.getWorkbook (inputWorkbook);
    / / Lấy tờ đầu tiên
    Tấm bảng = w.getSheet (0);
    / / Loop hơn trước 10 cột và dòng

    for (int i = 0; i <sheet.getColumns (); i + +) (
    cho (int j = 0; j <sheet.getRows (); j + +) (
    Tế bào tế bào = sheet.getCell (j, i);
    / / CellType type = cell.getType ();
    if (cell.getType () == CellType.LABEL) (
    fw.write ("(tag)" + cell.getContents ()+"{/ tag) ");
    )

    if (cell.getType () == CellType.NUMBER) (
    fw.write ("(tag)" + cell.getContents ()+"{/ tag) ");
    )

    )
    )
    fw.write ("(/ root)");

    ) Catch (BiffException e) (
    e.printStackTrace ();
    )
    )
    )

  41. Imran
    26 tháng 7 2010 lúc 01:57 | # 41

    Hey bất kỳ ai có thể cho tôi biết từ nơi mà tôi cần tải về gói jxl và nơi tôi nên đặt nó để biên dịch mã nguồn của tôi.

  1. Không có Trackbacks nào được nêu ra.