ASP.NET में एक्सेल 2013 फ़ाइल तक पहुंचना

मैं एक एएसपी.नेट आवेदन विकसित कर रहा हूं। मेरे पास ExcelApp नामक एक्सेल 2013 फ़ाइल है और मैंने अपनी प्रोजेक्ट में भी जोड़ा है। मैं फ़ाइल तक नहीं पहुंच सकता।

यहां मेरी डीएएल कक्षा है:

public string ExcelConnection = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Nimit\ExcelApplication.xlsx;Extended Properties='Excel 12.0 Xml';HDR=YES"; 
    OleDbDataAdapter DbAdap;
    DataTable dt;

    public DataTable Get_ExcelSheet()
    {
        OleDbConnection DbCon = new OleDbConnection(ExcelConnection);

        DbAdap = new OleDbDataAdapter("SELECT * FROM [Sheet1$]",DbCon);
        dt = new DataTable();
        DbAdap.Fill(dt);
        return dt;
    }

मेरा सीएस फ़ाइल कोड:

public partial class WebForm1 : System.Web.UI.Page
{
    DAL obj = new DAL();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack == true)
        {
            Get_Data();
        }
    }

    void Get_Data()
    {
        GridView1.DataSource = obj.Get_ExcelSheet();
        GridView1.DataBind();
    }
}

मेरा डीबगर इस लाइन को निष्पादित करते समय त्रुटि दिखाता है:

DbAdap.Fill(dt);

अपवाद है:

enter image description here

3
[ExcelApp $] क्या है?
जोड़ा लेखक Marco, स्रोत
@Serv ExcelApp $ मेरा एक्सेल फ़ाइल नाम है ..
जोड़ा लेखक Nimit Joshi, स्रोत
@Zaki मैंने ExcelApp $ को $ 1 में बदल दिया है, लेकिन एक ही अपवाद फिर से आ रहा है .. शीट 1 $ ExcelApp $ के स्थान पर दिखा रहा है
जोड़ा लेखक Nimit Joshi, स्रोत
मैंने यह भी कोशिश की। अरे मैंने कुछ बदलाव किए हैं ... मैं अपने कार्यक्रम को 2 मिनट के भीतर संपादित करने वाला हूं, कृपया मेरी मदद करें
जोड़ा लेखक Nimit Joshi, स्रोत
@ ज़की मुझे क्या करना चाहिए?
जोड़ा लेखक Nimit Joshi, स्रोत
जांचें कि आपका टेबल नाम सही है
जोड़ा लेखक Zaki, स्रोत
चयन नाम का प्रयास करें, [शीट 1 $] से ईमेल_आईडी इस ट्यूटोरियल को जांचें codeproject.com/Tips/509179/…
जोड़ा लेखक Zaki, स्रोत

4 उत्तर

मैंने अपना प्रश्न हल किया। मेरा कोड यहाँ है:

public class DAL
{
    OleDbDataAdapter DbAdap;
    DataTable dt;

    public DataTable Get_ExcelSheet()
    {
        OleDbConnection DbCon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Nimit\\ExcelApplication.xlsx;Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1;\"");

        DbAdap = new OleDbDataAdapter("SELECT * FROM [Sheet1$]",DbCon);
        dt = new DataTable();
        DbAdap.Fill(dt);
        return dt;
    }
}

मैं बस अपने OleDbConnection में अपनी कनेक्शन स्ट्रिंग प्रदान करता हूं। बस।

5
जोड़ा

मुझे लगता है कि आपको फिर से अपवाद पढ़ना चाहिए। एक स्पष्ट संदेश है कि यह कोड आपको विफल क्यों करता है ... मैं आपको एक संकेत दूंगा:

अतिरिक्त जानकारी: "Microsoft.ACE.OLEDB.40" प्रदाता स्थानीय मशीन पर पंजीकृत नहीं है

इसे ठीक करें और इसे काम करना चाहिए।

2
जोड़ा
मैंने ऑफिस सिस्टम ड्राइवर स्थापित किया है और मैं लिंक का भी पालन करता हूं codeproject.com/Questions/509389/… लेकिन त्रुटि जारी है
जोड़ा लेखक Nimit Joshi, स्रोत

Microsoft.ACE.OLEDB.4.0 के बजाय Microsoft.ACE.OLEDB.12.0 का उपयोग करें

और सापेक्ष/पूर्ण पथ गुजरने के साथ भी प्रयास करें।

नोट: मेरे कनेक्शन स्ट्रिंग में मैं filePath + fileName पास कर रहा हूं

connString = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0;HDR=NO;IMEX=1\";",
                                       filePath + fileName)
1
जोड़ा
एक ही समस्या होती है
जोड़ा लेखक Nimit Joshi, स्रोत
@Dawid आपके लिंक नाम का पालन करने के बाद अपवाद आ रहा है इंस्टॉल करने योग्य ISAM नहीं मिला
जोड़ा लेखक Nimit Joshi, स्रोत
@ सिद्दू मुझे स्थान पर डीएलएल फाइल मिली।
जोड़ा लेखक Nimit Joshi, स्रोत
@Siddu क्या मैं अपनी परियोजना में इस डीएलएल फ़ाइल का संदर्भ जोड़ता हूं?
जोड़ा लेखक Nimit Joshi, स्रोत
और यहां कनेक्शन स्ट्रिंग के लिए उपयोगी संदर्भ है: connectionstrings.com/excel-2013
जोड़ा लेखक Dawid, स्रोत
कृपया C: \ Program Files (x86) \ Common Files \ Microsoft Share \ OFFICE12 \ में ACEOLEDB.DLL dll खोजें \ यदि मौजूद नहीं है तो आपको विंडोज़ के साथ डाउनलोड और पंजीकरण करने की आवश्यकता है
जोड़ा लेखक Sid, स्रोत
X64 या 32 बिट वातावरण के रूप में स्थापित होने पर अपने एमएस एप्लिकेशन की जांच करें। वेब ऐप सर्वर (आईआईएस प्रबंधक) पर अपने एप्लिकेशन पूल को अग्रिम सेटिंग्स पर बदलने का प्रयास करें >> 32 बिट एप्लिकेशन सक्षम करें - सही/गलत सेट करें और फिर एप्लिकेशन को पुनरारंभ करें। विंडोज ऐप पर x86/64 बिट में प्रकाशित करने का प्रयास करें।
जोड़ा लेखक Sid, स्रोत

सबसे पहले अपनी कनेक्शन स्ट्रिंग देखें; इसमें आपके एक्सेल "ExcelApp.xlsx" के संदर्भ होना चाहिए। दूसरा चयन में ExcelApp $ को चादर का नाम संदर्भित करना चाहिए, न कि Excel फ़ाइल का नाम।

आशा है कि आप इसके साथ हल करेंगे

0
जोड़ा
मैंने शीट 1 $ के रूप में चयन कथन में तालिका का नाम बदल दिया, लेकिन एक ही अपवाद आ रहा है ..
जोड़ा लेखक Nimit Joshi, स्रोत