Dotyczy
Excel

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.

  1. Uruchom program Microsoft Visual Studio .NET.

  2. W menu Plik wskaż pozycję Nowy, a następnie kliknij pozycję Projekt.

  3. 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.

  4. 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.

  5. Przeciągnij kontrolkę hiperlinku ze zestawu narzędzi do pliku WebForm1.aspx.

  6. Kliknij prawym przyciskiem myszy WebForm1.aspx, a następnie kliknij polecenie Wyświetl kod, aby wyświetlić kod źródła strony.

  7. Dodaj następujące instrukcje u góry strony kodowej:

    using System.Data.SqlClient;using System.IO;using System.Text;
  8. 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;
  9. Zmodyfikuj parametry połączenia (SqlConnection) w razie potrzeby w środowisku.

  10. W menu Plik kliknij polecenie Zapisz wszystko, aby zapisać pliki projektu.

  11. W menu Konstruuj w programie Visual Studio .NET Integrated Development Environment (IDE) kliknij pozycję Konstruuj rozwiązanie, aby utworzyć projekt.

  12. 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

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.