Gäller för
Excel

Den här artikeln refererar till följande Namnområden för Microsoft .NET Framework Klassbibliotek:

  • System.Data.SqlClient

  • System.io

  • System.Text

I DEN HÄR UPPGIFTEN

Sammanfattning

I den här stegvisa artikeln beskrivs hur du skapar en tabbabbgränsad textfil dynamiskt från en databas. Du kan sedan öppna filen i Microsoft Excel. Exempelkoden i den här artikeln visar hur du ansluter till en Microsoft-SQL Server-databas, returnerar en uppsättning data från Pubs-databasen och sedan skapar en tabbaverad textfil med data.

Skapa exempelkoden

I det här exemplet skapas en exempelsida ASP.NET Visual C# .NET med namnet ExcelCS.aspx. Den här sidan ansluter till SQL Server Pubs-databasen och använder FileStream-objektet för att returnera informationen till en tabbaverad textfil. På sidan ASP.NET visas sedan en länk till den .xls fil som du har skapat för att visa kodens utdata.

  1. Starta Microsoft Visual Studio .NET.

  2. Peka på Nytt på Arkiv-menyn och klicka sedan på Projicera.

  3. Klicka på Visual C# Projekt under Projekttyper i dialogrutan Nytt projekt. Klicka på ASP.NET webbprogram under Mallar.

  4. I rutan Plats skriver du servernamnet och projektnamnet i följande format:

    http:// ServerName/Projektnamn I det här exemplet namnger du projektetExcelCSTest. Om du använder den lokala servern kan du lämna servernamnet somhttp://localhost.

  5. Dra en HyperLink-kontroll från verktygslådan till den WebForm1.aspx filen.

  6. Högerklicka på WebForm1.aspx och klicka sedan på Visa kod för att visa sidkällan bakom koden.

  7. Lägg till följande uttryck högst upp på sidan med kod bakom:

    using System.Data.SqlClient;using System.IO;using System.Text;
  8. På sidan med kod bakom WebForm1.aspx lägger du till följande kod i händelsen 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. Ändra anslutningssträng (SqlConnection) efter behov för miljön.

  10. Spara projektfilerna genom att klicka på Spara alla på Arkiv-menyn.

  11. På menyn Skapa i Visual Studio .NET Integrated Development Environment (IDE) klickar du på Build Solution för att skapa projektet.

  12. I Visual Studio .NET Integrated Development Environment Solution Explorer högerklickar du på WebForm1.aspx och klickar sedan på Visa i webbläsare för att köra koden.

Felsökning

  • Du måste ändra anslutningssträng i kodexemplet för att matcha miljön.

  • Du kan behöva öka behörigheterna för aspnet_wp processen (i Microsoft Windows 2000 och i Microsoft Windows XP) eller w3wp-processen (i Microsoft Windows Server 2003) för att filen ska kunna skrivas. Om du vill ha mer information klickar du på följande artikelnummer för att visa artikeln i Microsoft Knowledge Base:

    317012 INFO: Bearbeta och begära identitet i ASP.NET

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.