Αυτό το άρθρο αναφέρεται στους ακόλουθους χώρους ονομάτων της Βιβλιοθήκης τάξης .NET Framework Microsoft:
-
System.Data.SqlClient
-
System.IO
-
System.Text
ΣΕ ΑΥΤΗΝ ΤΗΝ ΕΡΓΑΣΙΑ
Σύνοψη
Αυτό το άρθρο βήμα προς βήμα περιγράφει τον τρόπο με τον οποίο μπορείτε να δημιουργήσετε δυναμικά ένα αρχείο κειμένου οριοθετημένο με στηλοθέτες από μια βάση δεδομένων. Στη συνέχεια, μπορείτε να ανοίξετε το αρχείο στο Microsoft Excel. Το δείγμα κώδικα σε αυτό το άρθρο δείχνει πώς μπορείτε να συνδεθείτε με μια βάση δεδομένων του Microsoft SQL Server, να επιστρέψετε ένα σύνολο δεδομένων από τη βάση δεδομένων Pubs και, στη συνέχεια, να δημιουργήσετε ένα αρχείο κειμένου οριοθετημένο με στηλοθέτες με τα δεδομένα.
Δημιουργία του δείγματος κώδικα
Αυτό το παράδειγμα δημιουργεί ένα δείγμα ASP.NET σελίδας Visual C# .NET με το όνομα ExcelCS.aspx. Αυτή η σελίδα συνδέεται με τη βάση δεδομένων SQL Server Pubs και χρησιμοποιεί το αντικείμενο FileStream για να επιστρέψει τις πληροφορίες σε ένα αρχείο κειμένου οριοθετημένο με στηλοθέτες. Στη συνέχεια, η σελίδα ASP.NET εμφανίζει μια σύνδεση προς το αρχείο .xls που δημιουργήσατε για να δείξει το αποτέλεσμα του κώδικα.
-
Εκκινήστε το Microsoft Visual Studio .NET.
-
Στο μενού Αρχείο, τοποθετήστε το δείκτη του ποντικιού στην επιλογή Δημιουργία και, στη συνέχεια, κάντε κλικ στην επιλογή Έργο.
-
Στο παράθυρο διαλόγου Δημιουργία έργου, στην περιοχή Τύποι έργου, κάντε κλικ στην επιλογή Visual C# Projects. Στην περιοχή Πρότυπα, κάντε κλικ στην επιλογή ASP.NET Εφαρμογή Web.
-
Στο πλαίσιο Θέση, πληκτρολογήστε το όνομα του διακομιστή και το όνομα του έργου στην ακόλουθη μορφή:
http:// ServerName/Όνομα έργου Σε αυτό το παράδειγμα, ονομάστε το έργοExcelCSTest. Εάν χρησιμοποιείτε τον τοπικό διακομιστή, μπορείτε να αφήσετε το όνομα του διακομιστή ωςhttp://localhost.
-
Σύρετε ένα στοιχείο ελέγχου Υπερ-σύνδεσης από την εργαλειοθήκη στο αρχείο WebForm1.aspx.
-
Κάντε δεξί κλικ WebForm1.aspx και, στη συνέχεια, κάντε κλικ στην επιλογή Προβολή κώδικα για να εμφανίσετε την προέλευση της σελίδας πίσω από τον κώδικα.
-
Προσθέστε τις ακόλουθες προτάσεις στο επάνω μέρος της σελίδας πίσω από κώδικα:
using System.Data.SqlClient;using System.IO;using System.Text;
-
Στη σελίδα πίσω κώδικα του WebForm1.aspx, προσθέστε τον παρακάτω κώδικα στο συμβάν Page_Load:
//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;
-
Τροποποιήστε το συμβολοσειρά σύνδεσης (SqlConnection) ανάλογα με τις ανάγκες του περιβάλλοντός σας.
-
Στο μενού Αρχείο, κάντε κλικ στην επιλογή Αποθήκευση όλων για να αποθηκεύσετε τα αρχεία έργου.
-
Στο μενού Δόμηση στο Περιβάλλον ενσωματωμένης ανάπτυξης του Visual Studio .NET (IDE), κάντε κλικ στην επιλογή Δόμηση λύσης για να δημιουργήσετε το έργο.
-
Στο Εξερεύνηση λύσεων Ενσωματωμένο περιβάλλον ανάπτυξης του Visual Studio .NET, κάντε δεξί κλικ WebForm1.aspx και, στη συνέχεια, κάντε κλικ στην επιλογή Προβολή σε πρόγραμμα περιήγησης για να εκτελέσετε τον κώδικα.
Αντιμετώπιση προβλημάτων
-
Πρέπει να αλλάξετε το συμβολοσειρά σύνδεσης στο δείγμα κώδικα ώστε να ταιριάζει με το περιβάλλον σας.
-
Ίσως χρειαστεί να αυξήσετε τα δικαιώματα για τη διεργασία aspnet_wp (στα Microsoft Windows 2000 και στα Microsoft Windows XP) ή τη διεργασία w3wp (στη Microsoft Windows Server 2003), για να επιτρέψετε τη σύνταξη του αρχείου. Για πρόσθετες πληροφορίες, κάντε κλικ στον αριθμό του παρακάτω άρθρου για να προβάλετε το άρθρο στη Γνωσιακή βάση της Microsoft:
317012 ΠΛΗΡΟΦΟΡΙΕΣ: Επεξεργασία και αίτηση ταυτότητας στο ASP.NET