Cách đọc tệp Excel trong ứng dụng bảng điều khiển C# mà không cần Interop

Nói chung, trong các dự án phát triển, yêu cầu phổ biến nhất là đọc/chỉnh sửa/tạo tệp excel. Hiện nay có rất nhiều thành phần phần mềm trả phí/miễn phí để đáp ứng yêu cầu này

Trong các dự án recants, tôi cũng đã làm việc với cùng một loại yêu cầu. Tôi đã sử dụng thành phần Microsoft Interop excel để đọc tệp excel nhưng sự cố chính xuất hiện khi tệp được lưu trữ trong nền tảng lưu trữ được chia sẻ

Khi nhà phát triển lưu trữ dự án đó trong dịch vụ lưu trữ được chia sẻ (trong trường hợp dự án ngân sách thấp không cần máy chủ chuyên dụng), thì nhà phát triển sẽ có quyền truy cập hạn chế vào cài đặt máy chủ và họ không thể cài đặt các thành phần excel (nghĩa là

Sau một số nghiên cứu, tôi đã tìm thấy một thành phần phần mềm IronXL đã giải quyết được vấn đề của tôi. Chúng tôi không cần cài đặt MS office hoặc bất kỳ thành phần Excel nào trên máy chủ lưu trữ (ngay cả trên dịch vụ lưu trữ được chia sẻ) để tạo mã hoạt động. Đây là ưu điểm lớn nhất của IronXL. Tôi quyết định chia sẻ thành phần này thông qua bài viết này với những người khác. Nhưng thành phần này không miễn phí, nó có giá riêng

sân chơi mật mã

Hãy bắt đầu với mã. Chúng tôi sẽ tạo một ứng dụng Windows mới bằng C#

  1. Mở Visual Studio. Chọn Dự án mới, sau đó chọn Ứng dụng biểu mẫu Windows. Tôi đang sử dụng Visual Studio 2022 phiên bản cộng đồng
  2. Đặt tên cho nó như bạn muốn. Tên ứng dụng của tôi là ReadExcelFileApp
  3. Trước hết, thêm Reference của thư viện Excel - IronXL. Nhấp chuột phải vào Giải pháp trong trình khám phá giải pháp và nhấp vào tùy chọn “Quản lý gói NuGet”
  4. Duyệt tab loại “IronXL. Excel”, màn hình sau sẽ xuất hiện. Nhấp vào nút cài đặt. Visual Studio sẽ nhắc bạn rằng VS đang cài đặt các thành phần sau và các thư viện liên quan (phụ thuộc) trong dự án này. Bấm vào đồng ý. Gói NuGet sẽ được cài đặt

5. Bây giờ, thêm hai nút Chọn và đọc tệp và Đóng biểu mẫu bằng cách kéo điều khiển nút từ cửa sổ Hộp công cụ

6. Ngoài ra, hãy thêm một DataGridView để xem kết quả (dữ liệu excel)

7. Nhấp chuột phải vào Windows Form và nhấp vào tùy chọn “Xem mã”. Điều này sẽ mở mã đằng sau tệp biểu mẫu

8. Bạn cũng có thể mở mã đằng sau tệp bằng cách nhấp đúp vào nút. Nó sẽ tạo phương thức sự kiện nhấp chuột của nút

9. Bạn cũng có thể quản lý sự kiện nhấp chuột của nút trong Thuộc tính của nó

10. Bây giờ hãy tạo một phương thức ReadExcel trả về một dữ liệu có thể sử dụng logic sau

/// 
/// this method will read the excel file and copy its data into a datatable
/// 
/// name of the file
/// DataTable
private DataTable ReadExcel(string fileName) {
    WorkBook workbook = WorkBook.Load(fileName);
    //// Work with a single WorkSheet.
    ////you can pass static sheet name like Sheet1 to get that sheet
    ////WorkSheet sheet = workbook.GetWorkSheet("Sheet1");
    //You can also use workbook.DefaultWorkSheet to get default in case you want to get first sheet only
    WorkSheet sheet = workbook.DefaultWorkSheet;
    //Convert the worksheet to System.Data.DataTable
    //Boolean parameter sets the first row as column names of your table.
    return sheet.ToDataTable(true);
}

Hãy thảo luận điều gì đó về phương thức ReadExcel()

Phương thức này sẽ đọc dữ liệu tệp trong đối tượng lớp Workbook. Tại đây bạn có thể thực hiện nhiều thao tác trên đối tượng lớp Workbook

Bạn có thể lấy trực tiếp dữ liệu Sổ làm việc trong tập dữ liệu hoặc bảng dữ liệu bằng cách sử dụng 1 dòng mã

Tương tự, bạn có thể thực hiện nhiều thao tác với thành phần này

11. Thêm logic sau vào các sự kiện bấm vào nút

 /// 
 /// this method will choose and read the excel file
 /// 
 /// 
 /// 
 private void btnChoose_Click(object sender, EventArgs e) {
     OpenFileDialog file = new OpenFileDialog(); //open dialog to choose file
     if (file.ShowDialog() == DialogResult.OK) //if there is a file chosen by the user
     {
         string fileExt = Path.GetExtension(file.FileName); //get the file extension
         if (fileExt.CompareTo(".xls") == 0 || fileExt.CompareTo(".xlsx") == 0) {
             try {
                 DataTable dtExcel = ReadExcel(file.FileName); //read excel file
                 dataGrdView.Visible = true;
                 dataGrdView.DataSource = dtExcel;
             } catch (Exception ex) {
                 MessageBox.Show(ex.Message.ToString());
             }
         } else {
             MessageBox.Show("Please choose .xls or .xlsx file only.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Error); //custom messageBox to show error
         }
     }
 }
 /// 
 /// this method will close the windows form
 /// 
 /// 
 /// 
 private void btnCancel_Click(object sender, EventArgs e) {
     this.Close(); //to close the window(Form1)
 }

Sau khi chọn file Kết quả sẽ như sau dù bạn upload. xls hoặc. tập tin xlsx

Phần kết luận

IronXL cũng hữu ích trong các hoạt động excel khác như chỉnh sửa/tạo kiểu dáng/tạo tệp excel. Mã của hướng dẫn này được đính kèm. Bạn có thể tải xuống mã, chơi với mã và sửa đổi theo yêu cầu của bạn. Tôi đã cố gắng làm cho phần phát triển hướng dẫn này trở nên thân thiện đơn giản nhất có thể. Cảm ơn bạn và thưởng thức mã hóa

Làm cách nào để đọc dữ liệu từ Excel trong C?

Cách đọc tệp Excel trong C# .
Tải Thư viện C# để đọc file Excel
Tải và đọc tệp Excel (sổ làm việc)
Tạo sổ làm việc Excel trong CSV hoặc XLSX
Chỉnh sửa giá trị ô trong một dải ô
Xác thực dữ liệu bảng tính
Xuất dữ liệu bằng Entity Framework

Chúng ta có thể đọc tệp Excel trong C# không?

. NET 4+ cho phép C# đọc và thao tác với các tệp Microsoft Excel , đối với máy tính đã cài đặt Excel (nếu bạn chưa cài đặt Excel, hãy xem NPOI).

Làm cách nào để đọc và ghi dữ liệu từ tệp Excel trong C#?

Các bước đọc và ghi dữ liệu từ Excel bằng C# .
Bước 1. Tạo một dự án C# mới trong Visual Studio. .
Bước 2. Thêm tham chiếu thành phần COM tôi. e. Đối tượng Excel 14. .
Bước 3. Nhập các không gian tên trong mã C#. .
Bước 4. Ghi dữ liệu vào tệp Excel. .
Bước 5. Đọc dữ liệu từ tệp Excel. .
Bước 6. Chạy chương trình C#

Làm cách nào để đọc tệp Excel trong ứng dụng C# Windows?

Trong bài viết này, chúng ta sẽ tìm hiểu cách đọc tệp Excel trong Ứng dụng Windows bằng C#. .
Mở Visual Studio. Chọn Dự án mới, sau đó chọn Ứng dụng biểu mẫu Windows. .
Đặt tên cho nó như bạn muốn. Tên ứng dụng của tôi là ReadExcelFileApp
Trước hết, thêm Reference của thư viện Excel - IronXL. .
Duyệt tab loại “IronXL