Lấy dữ liệu từ Excel thông qua C#

I. Giới thiệu

Ở bài hôm trước, mình đã hướng dẫn về cách ghi dữ liệu vào Excel bằng C#, phục vụ cho những dự án ghi Log. Vậy làm thế nào để đọc dữ liệu từ những file Excel đó?? Bài hum nay, mình sẽ giải quyết vấn đề này. Ở bài này, mình sẽ làm 1 project đọc dữ liệu từ file Excel sẵn có!!!

II. Khởi tạo

Để làm được project này, các bạn tạo 1 project Console Application như bài hôm trước nhé:

Sau đó, bạn có 1 Project Console Application, để làm 1 chương trình ghi dữ liệu vào Excel...(giống bài htrc..hehe) Trước tiên, bạn Add Library thư viện dùng cho Microsoft Office Excel bằng cách sau :

- Chọn Project >> Add Reference

- Hộp thoại Add Reference hiện ra, bạn chọn thẻ COM...Chọn Library muốn Add, ở đây là Microsoft Office Excel Library...(version bn đó, tùy vào bạn đang sử dụng Office phiên bản nào)

III. Full Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Excel;//dùng thư viện Excel sau khi Add
using System.Threading;//Thư viện Threading

namespace Read_Excel
{
    class Program
    {
        static void Main(string[] args)
        {
//Đánh dấu batdau:
        batdau:
            Console.Clear();//Xóa màn hình
            Console.WriteLine("Nhap duong dan file Excel can doc");
            String link = Console.ReadLine();//Đọc link file Excel đc nhập
            if (!System.IO.File.Exists(link))
            {
//Nếu đường link k chính xác thì....
                Console.WriteLine("Duong dan khong chinh xac, vui long thu lai...");
                Thread.Sleep(1000);// delay(1000)
                goto batdau;// Quay lại từ đầu
            }

            else
            {

                // chạy file Excel theo đường dẫn
                Excel.Application xlApp = new Excel.Application();
                Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(link);
                // Lấy Sheet 1
                Excel.Worksheet xlWorksheet = (Excel.Worksheet)xlWorkbook.Sheets.get_Item(1);
                // Lấy phạm vi dữ liệu
                Excel.Range xlRange = xlWorksheet.UsedRange;
                // Tạo mảng lưu trữ dữ liệu
                object[,] valueArray = (object[,])xlRange.get_Value(Excel.XlRangeValueDataType.xlRangeValueDefault);

                // Hiển thị nọi dung
                for (int row = 1; row <= xlWorksheet.UsedRange.Rows.Count; ++row)//đọc row hiện có trong Excel
                {
                    for (int colum = 1; colum <= xlWorksheet.UsedRange.Columns.Count; ++colum)//đọc colum trong Excel
                    {
                        String giatri = valueArray[row, colum].ToString();//Giá trị = valueArray[dòng, cột]; ToString() là để chuyển giá trị thành dạng String
                        Console.WriteLine(giatri);
                    }
                    
                        
                    
                }
                Console.ReadLine();  
                    // Đóng Workbook.
                    xlWorkbook.Close(false);
                    // Đóng application.
                    xlApp.Quit();
//Khử hết đối tượng
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkbook);
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
                }
            }
        }
    }

IV. Thành quả:

V. Lời kết

Trên đây, là cách đọc file Excel...Chúc các bạn thành công!!!! Và ủng hộ mình bằng cách RATE NODE nhé!!

lên
22 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Nạp code cho Arduino Promini thông qua mạch nạp của Arduino UNO

Arduino Promini là một board mạch siêu nhỏ, và rẻ tiền....Lý do là Promini không có mạch nguồn chuyển đổi 5V, 3.3V và đặc biệt là không có mạch nạp. Vì thế bạn cần phải mua thêm một mạch nạp, để nạp code cho Arduno Promini...Nếu bạn không có mạch nạp, vậy phải làm thế nào để nạp code cho Promini?? Bạn có thể dễ dàng sử dụng board Arduino Uno R3 sẵn có của mình để nạp code cho Arduino Pro Mini khi không có mạch nạp, hay bạn muốn tiết kiệm con chip ATmega16U2 laugh

lên
24 thành viên đã đánh giá bài viết này hữu ích.

Điều khiển thiết bị bằng giọng nói - Gửi 1 byte đến Arduino - Tiết kiệm bộ nhớ cho Arduino

Bài viết này, mình sẽ trả lời cho câu hỏi của bác Trương Trọng Thân :"Điều khiển thiết bị bằng giọng nói, nhưng chỉ gửi 1 byte" (nói hơi khó hiểu). Tóm lại là,VD:  khi app đọc giọng nói...nếu nhận đc tiếng nói: "bật đèn" thỳ gửi byte 1 đến Arduino. Nếu làm việc như thế, chúng ta sẽ tiết kiệm được bộ nhớ RAM cho Arduino và tốc độ xử lý sẽ cao hơn

lên
31 thành viên đã đánh giá bài viết này hữu ích.