Gjelder for
Excel

Denne artikkelen refererer til følgende navneområder for Microsoft .NET Framework-klassebibliotek:

  • System.Data.SqlClient

  • System.IO

  • System.Text

I DENNE OPPGAVEN

Sammendrag

Denne trinnvise artikkelen beskriver hvordan du bygger en tabulatordelt tekstfil dynamisk fra en database. Deretter kan du åpne filen i Microsoft Excel. Eksempelkoden i denne artikkelen demonstrerer hvordan du kobler til en Microsoft SQL Server-database, returnerer et sett med data fra Pubs-databasen og oppretter deretter en tabulatordelt tekstfil med dataene.

Bygg eksempelkoden

Dette eksemplet oppretter et eksempel ASP.NET Visual C# .NET-side kalt ExcelCS.aspx. Denne siden kobler til SQL Server Pubs-databasen og bruker FileStream-objektet til å returnere informasjonen til en tabulatordelt tekstfil. Den ASP.NET siden viser deretter en kobling til den .xls filen du opprettet for å demonstrere utdataene for koden.

  1. Start Microsoft Visual Studio .NET.

  2. Pek på Ny på Fil-menyen, og klikk deretter Prosjekt.

  3. Klikk Visuelle C#-prosjekter under Prosjekttyper i dialogboksen Nytt prosjekt. Klikk ASP.NET webprogram under Maler.

  4. Skriv inn servernavnet og prosjektnavnet i følgende format i Plassering-boksen:

    http:// Servernavn/prosjektnavn I dette eksemplet gir du prosjektetnavnet ExcelCSTest. Hvis du bruker den lokale serveren, kan du la servernavnet stå somhttp://localhost.

  5. Dra en HyperLink-kontroll fra verktøykassen til WebForm1.aspx-filen.

  6. Høyreklikk WebForm1.aspx, og klikk deretter Vis kode for å vise kodekilden.

  7. Legg til følgende setninger øverst på kodesiden:

    using System.Data.SqlClient;using System.IO;using System.Text;
  8. Legg til følgende kode i Page_Load-hendelsen på kode-baksiden i WebForm1.aspx:

    //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. Endre tilkoblingsstreng (SqlConnection) etter behov for miljøet.

  10. Klikk Lagre alle på Fil-menyen for å lagre prosjektfilene.

  11. Klikk Bygg løsning på bygg-menyen i Visual Studio .NET Integrated Development Environment (IDE) for å bygge prosjektet.

  12. Høyreklikk WebForm1.aspx i Visual Studio .NET Integrated Development Environment Løsningsutforsker, og klikk deretter Vis i nettleseren for å kjøre koden.

Feilsøking

  • Du må endre tilkoblingsstreng i kodeeksempelet for å samsvare med miljøet.

  • Du må kanskje øke tillatelsene for aspnet_wp-prosessen (i Microsoft Windows 2000 og Microsoft Windows XP) eller w3wp-prosessen (i Microsoft Windows Server 2003) for å tillate at filen skrives. Hvis du vil ha mer informasjon, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

    317012 INFO: Behandle og be om identitet i ASP.NET

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.