2013-02-02 50 views
5

Tôi đang cố tạo một tệp Excel từ VB.net từ lần đầu tiên. Tôi đã thêm các tài liệu tham khảo Microsoft.Office.Excel, nhập khẩu các Microsoft.Office.InteropExcel với VB.NET (Ngoại lệ từ HRESULT: 0x8002000B (DISP_E_BADINDEX))

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 

    Dim xlApp As Excel.Application 
    Dim xlWorkBook As Excel.Workbook 
    Dim xlWorkSheet As Excel.Worksheet 
    Dim misValue As Object = System.Reflection.Missing.Value 

    xlApp = New Excel.ApplicationClass 
    xlWorkBook = xlApp.Workbooks.Add(misValue) 
    xlWorkSheet = CType(xlWorkBook.Sheets("sheet1"), Excel.Worksheet) 
    xlWorkSheet.Cells(1, 1) = "Something here" 
    xlWorkSheet.SaveAs("D:\vbexcel.xlsx") 

    xlWorkBook.Close() 
    xlApp.Quit() 
    releaseObject(xlApp) 
    releaseObject(xlWorkBook) 
    releaseObject(xlWorkSheet) 

    MsgBox("Excel file created , you can find the file c:\") 

End Sub 

Các generetad lỗi là trong dòng:

xlWorkSheet = CType(xlWorkBook.Sheets("sheet1"), Excel.Worksheet) 

    Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX)) 
+0

thật là thú vị một số tên tờ làm việc khi bạn sử dụng tên văn bản, nhưng đối với các tên bảng mà ném một ngoại lệ như đã nêu ở trên, chúng tôi sẽ phải sử dụng chỉ mục. – Ruruboy

Trả lời

8

Có lẽ phiên bản của Excel không nói Anh. Và "tấm" là một từ bẩn trong ngôn ngữ địa phương, nó kinda là tiếng Anh;) Tên của bạn là một gợi ý rằng tiếng Anh không phải là ngôn ngữ mặc định. Sử dụng các chỉ số thay cho tên để tránh tai nạn như thế này:

xlWorkSheet = CType(xlWorkBook.Sheets(1), Excel.Worksheet) 
+0

hhhhhhhhhhhhhhhhhhh Công trình CNTT –

2

này cũng có thể xảy ra vì

Workbook.Worksheets.Count 

là ít so với số lượng tờ bạn sử dụng, tùy thuộc vào cách thiết lập Excel của bạn . Đối với tôi, nó bắt đầu với 3 tờ nhưng đối với một đồng nghiệp, nó bắt đầu với 2 trang tính.

Vì vậy, bạn có thể gọi

Workbook.Worksheets.Add() 

để đạt được số lượng mong muốn của tờ

Các vấn đề liên quan