W tym artykule występują odwołania do następujących nazw z klas bibliotek programu Microsoft .NET Framework:
-
System.data.sqlclient
-
System.io
-
System.text
W TYM ZADANIU
Podsumowanie
W tym artykule krok po kroku opisano sposób dynamicznego tworzenia pliku tekstowego rozdzielanego tabulatorami z bazy danych. Następnie możesz otworzyć plik w programie Microsoft Excel. Przykładowy kod w tym artykule pokazuje, jak połączyć się z bazą danych microsoft SQL Server, zwrócić zestaw danych z bazy danych Pubs, a następnie utworzyć plik tekstowy rozdzielany tabulatorami z danymi.
Tworzenie przykładowego kodu
W tym przykładzie jest tworzena przykładowa strona ASP.NET visual C# .NET o nazwie ExcelCS.aspx. Ta strona łączy się z bazą danych pubów SQL Server i używa obiektu FileStream w celu zwrócenia informacji do pliku tekstowego rozdzielanego tabulatorami. Następnie na stronie ASP.NET zostanie wyświetlony link do utworzonego pliku .xls w celu pokazania wyniku kodu.
-
Uruchom program Microsoft Visual Studio .NET.
-
W menu Plik wskaż pozycję Nowy, a następnie kliknij pozycję Projekt.
-
W oknie dialogowym Nowy projekt w obszarze Typy projektów kliknij pozycję Visual C# Projects. W obszarze Szablony kliknij pozycję ASP.NET aplikacji sieci Web.
-
W polu Lokalizacja wpisz nazwę serwera i nazwę projektu w następującym formacie:
http:// ServerName/Nazwa projektu W tym przykładzie nadaj nazwę projektowiExcelCSTest. Jeśli korzystasz z serwera lokalnego, możesz pozostawić nazwę serwera jakohttp://localhost.
-
Przeciągnij kontrolkę hiperlinku ze zestawu narzędzi do pliku WebForm1.aspx.
-
Kliknij prawym przyciskiem myszy WebForm1.aspx, a następnie kliknij polecenie Wyświetl kod, aby wyświetlić kod źródła strony.
-
Dodaj następujące instrukcje u góry strony kodowej:
using System.Data.SqlClient;using System.IO;using System.Text;
-
Na stronie kodowej WebForm1.aspx dodaj następujący kod do zdarzenia 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;
-
Zmodyfikuj parametry połączenia (SqlConnection) w razie potrzeby w środowisku.
-
W menu Plik kliknij polecenie Zapisz wszystko, aby zapisać pliki projektu.
-
W menu Konstruuj w programie Visual Studio .NET Integrated Development Environment (IDE) kliknij pozycję Konstruuj rozwiązanie, aby utworzyć projekt.
-
W programie Visual Studio .NET Integrated Development Environment Eksplorator rozwiązań kliknij prawym przyciskiem myszy pozycję WebForm1.aspx, a następnie kliknij polecenie Wyświetl w przeglądarce, aby uruchomić kod.
Rozwiązywanie problemów
-
Musisz zmienić parametry połączenia w przykładzie kodu, aby dopasować go do środowiska.
-
Może być konieczne zwiększenie uprawnień do procesu aspnet_wp (w systemie Microsoft Windows 2000 i Microsoft Windows XP) lub procesu w3wp (w programie Microsoft Windows Server 2003), aby umożliwić zapisanie pliku. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
317012 INFORMACJE: Proces i żądanie tożsamości w ASP.NET