منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
طريقة تحويل صفحة في ملف Excel إلى DataSet - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : الأقسام التعليمية - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=90)
+--- قسم : مكتبة أكواد المنتدى (http://vb4arb.com/vb/forumdisplay.php?fid=111)
+---- قسم : مكتبة أكواد .net (http://vb4arb.com/vb/forumdisplay.php?fid=117)
+---- الموضوع : طريقة تحويل صفحة في ملف Excel إلى DataSet (/showthread.php?tid=6380)



طريقة تحويل صفحة في ملف Excel إلى DataSet - RaggiTech - 17-10-12

كاتب الموضوع : محمد أسامة جندية

أولا نعرف Class ونضع فيه طريقة إستعادة بيانات الملف المطلوب في DataSet


كود :
[color=#000000][COLOR=#0000bb]using System[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Data[/color][color=#007700].[/color][color=#0000bb]OleDb[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Data[/color][COLOR=#007700];

[/COLOR][COLOR=#ff8000]///
/// Summary description for Excel
///
[/COLOR][color=#007700]public class [/color][COLOR=#0000bb]Excel
[/COLOR][COLOR=#007700]{
    public [/COLOR][color=#0000bb]Excel[/color][COLOR=#007700]()
    { }

    [/COLOR][COLOR=#ff8000]// returns dataset Table1 matching excel file:
    [/COLOR][color=#007700]static public [/color][color=#0000bb]DataSet GetDS[/color][color=#007700]([/color][color=#0000bb]String ExcelFile[/color][color=#007700], [/color][color=#0000bb]String SheetName[/color][COLOR=#007700])
    {
        [/COLOR][COLOR=#ff8000]// Create connection string variable. Modify the "Data Source"
        // parameter as appropriate for your environment.
        [/COLOR][color=#0000bb]String sConnectionString [/color][color=#007700]= [/color][color=#dd0000]"Provider=Microsoft.Jet.OLEDB.4.0;" [/color][color=#007700]+ [/color][color=#dd0000]"Data Source=" [/color][color=#007700]+ [/color][color=#0000bb]ExcelFile [/color][color=#007700]+ [/color][color=#dd0000]";" [/color][color=#007700]+ [/color][color=#dd0000]"Extended Properties=\"Excel 8.0;HDR=No;IMEX=1;\""[/color][COLOR=#007700];

        [/COLOR][COLOR=#ff8000]// Create connection object by using the preceding connection string.
        [/COLOR][color=#0000bb]OleDbConnection objConn [/color][color=#007700]= new [/color][color=#0000bb]OleDbConnection[/color][color=#007700]([/color][color=#0000bb]sConnectionString[/color][COLOR=#007700]);

        [/COLOR][COLOR=#ff8000]// Open connection with the database.
        [/COLOR][color=#0000bb]objConn[/color][color=#007700].[/color][color=#0000bb]Open[/color][COLOR=#007700]();

        [/COLOR][COLOR=#ff8000]// The code to follow uses a SQL SELECT command to display the data from the worksheet.

        // Create new OleDbCommand to return data from worksheet.
        [/COLOR][color=#0000bb]OleDbCommand objCmdSelect [/color][color=#007700]= new [/color][color=#0000bb]OleDbCommand[/color][color=#007700]([/color][color=#0000bb]String[/color][color=#007700].[/color][color=#0000bb]Format[/color][color=#007700]([/color][color=#dd0000]"SELECT * FROM [{0}$]"[/color][color=#007700], [/color][color=#0000bb]SheetName[/color][color=#007700]), [/color][color=#0000bb]objConn[/color][COLOR=#007700]);

        [/COLOR][COLOR=#ff8000]// Create new OleDbDataAdapter that is used to build a DataSet
        // based on the preceding SQL SELECT statement.
        [/COLOR][color=#0000bb]OleDbDataAdapter objAdapter1 [/color][color=#007700]= new [/color][color=#0000bb]OleDbDataAdapter[/color][COLOR=#007700]();

        [/COLOR][COLOR=#ff8000]// Pass the Select command to the adapter.
        [/COLOR][color=#0000bb]objAdapter1[/color][color=#007700].[/color][color=#0000bb]SelectCommand [/color][color=#007700]= [/color][color=#0000bb]objCmdSelect[/color][COLOR=#007700];

        [/COLOR][COLOR=#ff8000]// Create new DataSet to hold information from the worksheet.
        [/COLOR][color=#0000bb]DataSet objDataset1 [/color][color=#007700]= new [/color][color=#0000bb]DataSet[/color][COLOR=#007700]();

        [/COLOR][COLOR=#ff8000]// Fill the DataSet with the information from the worksheet.
        [/COLOR][color=#0000bb]objAdapter1[/color][color=#007700].[/color][color=#0000bb]Fill[/color][color=#007700]([/color][color=#0000bb]objDataset1[/color][color=#007700], [/color][color=#dd0000]"Table1"[/color][COLOR=#007700]);

        [/COLOR][COLOR=#ff8000]// Clean up objects.
        [/COLOR][color=#0000bb]objConn[/color][color=#007700].[/color][color=#0000bb]Close[/color][COLOR=#007700]();

        return [/COLOR][color=#0000bb]objDataset1[/color][COLOR=#007700];
    }
}  
[/COLOR][color=#0000bb][/color][/COLOR]

عند الحاجة يتم التحويل وفق الكود التالي:


كود :
[color=#000000][COLOR=#0000bb]Excel MyExcel [/color][color=#007700]= new [/color][color=#0000bb]Excel[/color][COLOR=#007700]();
[/COLOR][color=#0000bb]DataSet DS [/color][color=#007700]= new [/color][color=#0000bb]DataSet[/color][COLOR=#007700]();
[/COLOR][color=#0000bb]DS [/color][color=#007700]= [/color][color=#0000bb]Excel[/color][color=#007700].[/color][color=#0000bb]GetDS[/color][color=#007700]([/color][color=#0000bb]ExcelFile[/color][color=#007700], [/color][color=#0000bb]SheetName[/color][COLOR=#007700]);  
[/COLOR][color=#0000bb][/color][/COLOR]

حيث يتم تخزين الاسم الكامل لملف Excel في المتغير ExcelFile واسم الصفحة التي نريد استيرادها في المتغير SheetName