Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: [hỏi] c# đọc từng ô dữ liệu nhiều cell trong excel mà chỉ mở file 1 lần

  1. #1
    Ngày gia nhập
    04 2016
    Bài viết
    27

    Mặc định [hỏi] c# đọc từng ô dữ liệu nhiều cell trong excel mà chỉ mở file 1 lần

    Hi cộng đồng C#

    mình muốn lấy dữ liệu vài cell trong file excel , nhưng mình không biết cách làm sao để chỉ mở file excel lên xong đọc 1 lần vài cell đã quy định xong rồi mới đóng file lại
    bên dưới là hàm đọc 1 cell nhờ mọi người có kinh nghiệm cho vài lời khuyên

    cảm ơn ạ
    Code:
    using Excel = Microsoft.Office.Interop.Excel;
    private string docDuLieuFileExcel(string filepath, int hang, int cot)
            {
                string kq = "";
    
                try
                {                
                    Excel.Application oExcel = new Excel.Application();
    
                    Excel.Workbook WB = oExcel.Workbooks.Open(filepath);
    
                    string ExcelWorkbookname = WB.Name;
    
                    int worksheetcount = WB.Worksheets.Count;
    
                    Excel.Worksheet wks = (Excel.Worksheet)WB.Worksheets[1];
    
                    string firstworksheetname = wks.Name;
                    var firstcellvalue = ((Excel.Range)wks.Cells[hang, cot]).Value;
    
                    kq = (string)firstcellvalue;
    
                    WB.Close();                
                    oExcel.Quit();
                    
                }
                catch (Exception ex)
                {
    
                    MessageBox.Show(ex.ToString());
                }
                
                return kq;
            }

  2. #2
    Ngày gia nhập
    04 2009
    Bài viết
    116

    Dùng Npoi hoặc OpenXml đọc không phụ thuộc máy cài office hay không, đọc file thì load file lên rồi đọc bt chứ nhỉ
    http://laptrinhvacuocsong.com/

  3. #3
    Ngày gia nhập
    12 2015
    Nơi ở
    Đà Nẵng
    Bài viết
    648

    Trích dẫn Nguyên bản được gửi bởi mmnol Xem bài viết
    Hi cộng đồng C#

    mình muốn lấy dữ liệu vài cell trong file excel , nhưng mình không biết cách làm sao để chỉ mở file excel lên xong đọc 1 lần vài cell đã quy định xong rồi mới đóng file lại
    bên dưới là hàm đọc 1 cell nhờ mọi người có kinh nghiệm cho vài lời khuyên

    cảm ơn ạ
    Code:
    using Excel = Microsoft.Office.Interop.Excel;
    private string docDuLieuFileExcel(string filepath, int hang, int cot)
            {
                string kq = "";
    
                try
                {                
                    Excel.Application oExcel = new Excel.Application();
    
                    Excel.Workbook WB = oExcel.Workbooks.Open(filepath);
    
                    string ExcelWorkbookname = WB.Name;
    
                    int worksheetcount = WB.Worksheets.Count;
    
                    Excel.Worksheet wks = (Excel.Worksheet)WB.Worksheets[1];
    
                    string firstworksheetname = wks.Name;
                    var firstcellvalue = ((Excel.Range)wks.Cells[hang, cot]).Value;
    
                    kq = (string)firstcellvalue;
    
                    WB.Close();                
                    oExcel.Quit();
                    
                }
                catch (Exception ex)
                {
    
                    MessageBox.Show(ex.ToString());
                }
                
                return kq;
            }
    Visual C# Code:
    1. using Excel = Microsoft.Office.Interop.Excel;
    2. private string docDuLieuFileExcel(string filepath)
    3.         {
    4.             string kq = "";
    5.  
    6.             try
    7.             {                
    8.                 Excel.Application oExcel = new Excel.Application();
    9.  
    10.                 Excel.Workbook WB = oExcel.Workbooks.Open(filepath);
    11.  
    12.                 string ExcelWorkbookname = WB.Name;
    13.  
    14.                 int worksheetcount = WB.Worksheets.Count;
    15.  
    16.                 Excel.Worksheet wks = (Excel.Worksheet)WB.Worksheets[1];
    17.  
    18.                 string firstworksheetname = wks.Name;
    19.              
    20.  
    21.                 kq = (string)DocO(wks, 2, 4).Value;
    22.                 string kq2 = (string)DocO(wks, 4, 5).Value;
    23.                 WB.Close();                
    24.                 oExcel.Quit();
    25.                
    26.             }
    27.             catch (Exception ex)
    28.             {
    29.  
    30.                 MessageBox.Show(ex.ToString());
    31.             }
    32.            
    33.             return kq;
    34.         }
    35. Excel.Range DocO(Excel.Worksheet wks, int hang, int cot)
    36. {
    37.     return (Excel.Range)wks.Cells[hang, cot];
    38. }

  4. #4
    Ngày gia nhập
    04 2016
    Bài viết
    27

    mình khai báo thêm 1 biến public và gán vào đó cho kết quả kế tiếp cho cell cần lấy.

    tại ban đầu mình muốn gọi 1 hàm trả về kết quả là string.

    tuy code nó mở chạy hơi bị chậm nhưng cũng giải quyết được vấn đề

    cảm ơn mn đã giúp đỡ.

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn