Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Trình duyệt của bạn không được hỗ trợ

Bạn cần cập nhật trình duyệt của mình để sử dụng trang web.

Cập nhật lên Internet Explorer phiên bản mới nhất.

Làm thế nào để truy vấn và Cập Nhật Excel dữ liệu bằng cách sử dụng ADO từ ASP

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:195951
TÓM TẮT
Bài viết này chứng tỏ làm thế nào để truy vấn và Cập Nhật thông tin trong một bảng tính Excel sử dụng ActiveX Data Objects (ADO) từ một Active Server Pages (ASP) trang. Bài viết cũng mô tả những hạn chế mà có liên quan với loại ứng dụng.

Quan trọng: mặc dù Các ứng dụng ASP/ADO hỗ trợ đa người dùng truy cập, một bảng tính Excel không. Vì vậy, phương pháp này của câu và cập nhật thông tin hỗ trợ nhiều người sử dụng truy cập đồng thời.
THÔNG TIN THÊM
Để truy cập dữ liệu trong bảng tính Excel của bạn cho việc này mẫu, sử dụng trình điều khiển ODBC Microsoft cho Excel. Tạo ra một bảng để truy cập vào các dữ liệu bằng cách tạo ra một loạt các Named trong bảng tính Excel của bạn.

Các bước để tạo ứng dụng mẫu

  • Tạo tập tin Excel ADOtest.xls với dữ liệu sau trong sheet1:

    column1column2column3
    RR Điều này15
    BBthử nghiệm20
    EEtác phẩm25

    Chú ý Nếu một cột trong bảng tính Excel của bạn có chứa cả hai văn bản và số điện thoại, trình điều khiển Excel ODBC không chính xác giải thích kiểu dữ liệu mà các cột nên. Hãy đảm bảo rằng tất cả các ô trong một cột của các cùng một kiểu dữ liệu. Ba lỗi sau đây có thể xảy ra nếu mỗi tế bào trong một cột không phải là của cùng loại hoặc bạn đã loại hỗn hợp giữa "văn bản" và "chung":
    1. Microsoft OLE DB Provider cho trình điều khiển ODBC lỗi '80040e21'
      Thuộc tính yêu cầu không thể được hỗ trợ bởi trình điều khiển ODBC.
    2. Microsoft OLE DB Provider cho trình điều khiển ODBC lỗi '80004005'
      Truy vấn không phải là updateable vì nó có không có cột tìm kiếm được sử dụng như một chìa khóa hy vọng.
    3. Microsoft OLE DB Provider cho trình điều khiển ODBC lỗi '80004005'
      Truy vấn dựa Cập Nhật không thành công. Dòng Cập Nhật không tìm thấy.
  • Tạo một phạm vi Named, myRange1, trong bảng tính của bạn:

    1. Làm nổi bật khu vực row(s) và column(s) nơi dữ liệu của bạn cư trú.
    2. Trên menu chèn, trỏ đến tên, và nhấp vào Xác định.
    3. Nhập myRange1 tên cho dãy Named Tên.
    4. Bấm OK.
    MyRange1 Named Range chứa dữ liệu sau:

    column1column2column3
    RRĐiều này15
    BBthử nghiệm20
    EEtác phẩm25


    Chú ý ADO giả định rằng hàng đầu trong một truy vấn Excel có chứa các đề mục cột. Do đó, phạm vi Named phải bao gồm các đề mục cột. Đây là hành vi khác nhau từ DAO.

    Chú ý Đề mục cột không thể là một số. Không thể điều khiển Excel giải thích chúng, và thay vào đó, trả lại một tế bào tham khảo. Ví dụ, một cột tiêu đề của "f1" sẽ được misinterpreted.
  • Tạo một ODBC hệ thống dữ liệu nguồn tên (DSN) trỏ đến các tập tin ADOTest.xls.
    1. Từ bảng điều khiển, mở ODBC Người quản trị.
    2. Trên tab DSN hệ thống, bấm thêm.
    3. Chọn Microsoft Excel Driver (*.xls) và bấm hoàn tất. Nếu tùy chọn này không tồn tại, bạn cần phải cài đặt trình điều khiển Microsoft ODBC cho Excel từ thiết lập Excel.
    4. Chọn ADOExcel cho tên nguồn dữ liệu.
    5. Đảm bảo rằng các phiên bản được thiết lập để phiên bản đúng của Excel.
    6. Bấm vào "Chọn Workbook...", duyệt đến ADOTest.xls tập tin, và nhấn OK.
    7. Nhấp vào các "tùy chọn >>" nút và rõ ràng "đọc Chỉ"hộp kiểm.
    8. Nhấp OK và sau đó nhấp OK một lần nữa.
  • Thiết lập quyền truy cập vào các tập tin ADOTest.xls.
Trang chủ hoạt động của bạn được truy cập nặc danh, bạn phải đảm bảo rằng các tài khoản chưa xác định người (IUSR_<machinename>) có ít Đọc/ghi (RW) quyền truy cập vào bảng tính. Nếu bạn muốn xóa bỏ thông tin từ bảng tính, bạn cần để cấp quyền truy cập cho phù hợp.<b00></b00></machinename>

Nếu bạn đang chứng thực quyền truy cập vào trang chủ hoạt động của bạn, bạn cần phải đảm bảo rằng tất cả người dùng truy cập vào ứng dụng của bạn có thích hợp cấp phép.

Chú ý Nếu bạn không thiết lập cho phép thích hợp trên các bảng tính, bạn sẽ có được một thông báo lỗi tương tự như sau:

Microsoft OLE DB Provider cho trình điều khiển ODBC lỗi '80004005'

[Microsoft][ODBC Excel Driver] Máy bay phản lực Microsoft cơ sở dữ liệu không thể mở tệp '(không biết)'. Nó đã được mở ra độc quyền bởi người dùng khác, hoặc bạn cần sự cho phép để xem dữ liệu của nó.
  1. Tạo một trang ASP mới và dán trong đoạn mã sau:
          <!-- Begin ASP Source Code -->      <%@ LANGUAGE="VBSCRIPT" %>      <%        Set objConn = Server.CreateObject("ADODB.Connection")        objConn.Open "ADOExcel"        Set objRS = Server.CreateObject("ADODB.Recordset")        objRS.ActiveConnection = objConn        objRS.CursorType = 3                    'Static cursor.        objRS.LockType = 2                      'Pessimistic Lock.        objRS.Source = "Select * from myRange1"        objRS.Open   %>   <br>   <%      Response.Write("Original Data")      'Printing out original spreadsheet headings and values.      'Note that the first recordset does not have a "value" property      'just a "name" property.  This will spit out the column headings.      Response.Write("<TABLE><TR>")      For X = 0 To objRS.Fields.Count - 1         Response.Write("<TD>" & objRS.Fields.Item(X).Name & "</TD>")      Next      Response.Write("</TR>")      objRS.MoveFirst      While Not objRS.EOF         Response.Write("<TR>")         For X = 0 To objRS.Fields.Count - 1            Response.write("<TD>" & objRS.Fields.Item(X).Value)         Next         objRS.MoveNext         Response.Write("</TR>")      Wend      Response.Write("</TABLE>")      'The update is made here      objRS.MoveFirst      objRS.Fields(0).Value = "change"      objRS.Fields(1).Value = "look"      objRS.Fields(2).Value = "30"      objRS.Update      'Printing out spreadsheet headings and values after update.      Response.Write("<br>Data after the update")      Response.Write("<TABLE><TR>")      For X = 0 To objRS.Fields.Count - 1         Response.Write("<TD>" & objRS.Fields.Item(X).Name & "</TD>")      Next      Response.Write("</TR>")      objRS.MoveFirst      While Not objRS.EOF         Response.Write("<TR>")         For X = 0 To objRS.Fields.Count - 1            Response.write("<TD>" & objRS.Fields.Item(X).Value)         Next         objRS.MoveNext         Response.Write("</TR>")      Wend      Response.Write("</TABLE>")      'ADO Object clean up.      objRS.Close      Set objRS = Nothing      objConn.Close      Set objConn = Nothing   %>   <!-- End ASP Source Code -->					
  2. Tiết kiệm và tên trang chủ hoạt động của bạn và xem nó trong các trình duyệt. Bạn sẽ thấy những điều sau đây:
          Original Data:      column1    column2    column3      -----------------------------      rr         this       30      bb         test       20      tt         works      25      Data after the update:      column1    column2    column3      -----------------------------      change     look       30      bb         test       20      tt         works      25					
Chú ý Một bản Cập Nhật được thực hiện trên hàng đầu tiên của phạm vi Named của bạn (sau các đề mục).
THAM KHẢO
Để biết thêm thông tin, bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
190195Làm thế nào để ExtractInformation từ Excel tờ với DAO

Cảnh báo: Bài viết này đã được dịch tự động

Thuộc tính

ID Bài viết: 195951 - Xem lại Lần cuối: 08/20/2011 08:48:00 - Bản sửa đổi: 2.0

  • Microsoft Active Server Pages 4.0
  • Microsoft Data Access Components 2.5
  • kbcode kbhowto kbmdacnosweep kbmt KB195951 KbMtvi
Phản hồi