Ez a cikk a Következő Microsoft .NET-keretrendszer Osztálytár-névterekre vonatkozik:
-
System.Data.SqlClient
-
System.IO
-
System.Text
TARTALOMJEGYZÉK
Összefoglalás
Ez a részletes cikk bemutatja, hogyan hozhat létre dinamikusan egy tabulátorral tagolt szövegfájlt egy adatbázisból. Ezután megnyithatja a fájlt a Microsoft Excelben. A cikkben szereplő mintakód bemutatja, hogyan csatlakozhat egy Microsoft SQL Server-adatbázishoz, hogyan ad vissza egy adatkészletet a Pubs-adatbázisból, majd hogyan hozhat létre tabulátorral tagolt szövegfájlt az adatokkal.
A mintakód összeállítása
Ez a példa létrehoz egy ASP.NET Visual C# .NET-oldalt ExcelCS.aspx néven. Ez a lap csatlakozik a SQL Server Pubs-adatbázishoz, és a FileStream objektummal adja vissza az információkat egy tabulátorral tagolt szövegfájlba. A ASP.NET lapon megjelenik egy hivatkozás a létrehozott .xls fájlra, amely bemutatja a kód kimenetét.
-
Indítsa el a Microsoft Visual Studio .NET-et.
-
A Fájl menüben mutasson az Új elemre, majd kattintson a Project elemre.
-
Az Új projekt párbeszédpanel Projekttípusok területén kattintson a Visual C# Projektek elemre. A Sablonok területen kattintson ASP.NET webalkalmazás elemre.
-
A Hely mezőbe írja be a kiszolgáló és a projekt nevét a következő formátumban:
http:// ServerName/Projekt neve Ebben a példában adja a projektnekaz ExcelCSTest nevet. Ha a helyi kiszolgálót használja, a kiszolgáló nevéthttp://localhost hagyhatja.
-
Húzzon egy HyperLink-vezérlőt az eszközkészletből a WebForm1.aspx fájlba.
-
Kattintson a jobb gombbal WebForm1.aspx, majd kattintson a Kód megtekintése parancsra a kód mögötti oldal forrásának megjelenítéséhez.
-
Adja hozzá a következő utasításokat a kód mögötti oldal tetejére:
using System.Data.SqlClient;using System.IO;using System.Text;
-
A WebForm1.aspx kód mögötti oldalán adja hozzá a következő kódot a Page_Load eseményhez:
//You use these variables throughout the application.string fileExcel, filePath, fileName, strLine, sql;FileStream objFileStream;StreamWriter objStreamWriter;Random nRandom = new Random(DateTime.Now.Millisecond);SqlConnection cnn = new SqlConnection("server=(local);database=pubs;Integrated Security=SSPI"); //Create a random file name.fileExcel = "t" + nRandom.Next().ToString() + ".xls";//Set a virtual folder to save the file.//Make sure to change the application name to match your folder.filePath = Server.MapPath("\\ExcelCSTest");fileName = filePath + "\\" + fileExcel;//Use FileSystem objects to create the .xls file.objFileStream = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write); objStreamWriter = new StreamWriter(objFileStream); //Use a DataReader object to connect to the Pubs database.cnn.Open();sql = "select au_id,au_lName,au_fname,phone,address,city,state,zip,contract from authors"; SqlCommand cmd = new SqlCommand(sql, cnn); SqlDataReader dr; dr = cmd.ExecuteReader();//Initialize the string that is used to build the file.strLine = "";//Enumerate the field names and the records that are used to build //the file.for (int i = 0; i <= dr.FieldCount-1; i++) { strLine = strLine + dr.GetName(i).ToString() + Convert.ToChar(9); }//Write the field name information to the file.objStreamWriter.WriteLine(strLine);//Reinitialize the string for data.strLine = "";//Enumerate the database that is used to populate the file.while (dr.Read()) { for (int i = 0; i <= dr.FieldCount-1; i++) { strLine = strLine + dr.GetValue(i).ToString() + Convert.ToChar(9); } objStreamWriter.WriteLine(strLine); strLine=""; }//Clean up.dr.Close();cnn.Close();objStreamWriter.Close();objFileStream.Close();//Include a link to the Excel file.HyperLink1.Text="Open Excel";HyperLink1.NavigateUrl=fileExcel;
-
A környezethez szükséges módon módosítsa a kapcsolati karakterlánc (SqlConnection).
-
A Fájl menüben kattintson az Összes mentése gombra a projektfájlok mentéséhez.
-
A Visual Studio .NET Integrated Development Environment (IDE) Build menüjében kattintson a Megoldás létrehozása elemre a projekt létrehozásához.
-
A Visual Studio .NET integrált fejlesztőkörnyezet Megoldáskezelő kattintson a jobb gombbal a WebForm1.aspx, majd kattintson a Megtekintés böngészőben parancsra a kód futtatásához.
Hibaelhárítás
-
A kódmintában szereplő kapcsolati karakterlánc úgy kell módosítania, hogy megfeleljen a környezetének.
-
Előfordulhat, hogy a fájl írásának engedélyezéséhez növelnie kell a aspnet_wp folyamat (Microsoft Windows 2000 és Microsoft Windows XP rendszerben) vagy a w3wp folyamat (a Microsoft Windows Server 2003-ban) engedélyeit. További információért kattintson a következő cikkszámra a cikk Microsoft Tudásbázisban való megtekintéséhez:
317012 INFORMÁCIÓ: Identitás feldolgozása és kérése a ASP.NET