Answered by:
How to save Label.Text values to Excel in ASP.NET using C#?

Question
-
User-1391672913 posted
I am trying to save values of
label.text
to an Excel file. The values of the labels came from a database that I am using.Here is my code:
.aspx
<asp:Label ID="Label1" runat="server" Text=""></asp:Label><br /> <asp:Label ID="Label2" runat="server" Text=""></asp:Label><br /> <asp:Label ID="Label3" runat="server" Text=""></asp:Label><br /> <asp:Label ID="Label4" runat="server" Text=""></asp:Label><br /> <asp:Label ID="Label5" runat="server" Text=""></asp:Label><br /> <asp:Label ID="Label6" runat="server" Text=""></asp:Label><br /><br />
aspx.cs
protected void Page_Load(object sender, EventArgs e) { if (Session["id"] != null) { Label1.Text = "Stock Keeping Unit: " + Request.QueryString["StockKeepingUnit"]; Label2.Text = "Universal Product Code: " + Request.QueryString["UniversalProductCode"]; Label3.Text = "Vendor Name: " + Request.QueryString["VendorName"]; Label4.Text = "Product Name: " + Request.QueryString["ProductName"]; Label5.Text = "Product Description: " + Request.QueryString["ProductDesc"]; Label6.Text = "Retail Price: " + Request.QueryString["RetailPrice"]; } else { Response.Redirect("LoginPage.aspx"); } } protected void SaveButton_Click(object sender, EventArgs e) { string[] information = { Label1.Text, Label2.Text, Label3.Text, Label4.Text, Label5.Text, Label6.Text }; string path = @"C:\Users\hac9289\source\repos\WebAppRetail"; using (StreamWriter outputFile = new StreamWriter(Path.Combine(path, "RetailInformation.xls"))) { foreach (string info in information) { outputFile.WriteLine(info); } ScriptManager.RegisterStartupScript(this, typeof(string), "New record added successfully", "alert('Record Saved');", true); } }
However, the values that are saved in the Excel file looked liked this:
It seems that every words were put to a cell. How can I code it to have 2 columns only? Like this:
Any help will do. Thank you
Thursday, January 9, 2020 6:58 AM
Answers
-
User288213138 posted
Hi NoobNoob,
However, the values that are saved in the Excel file looked liked this:I tested your code, but i get the following result:
But if you want to divide it into 2 columns, you can try to use ExcelPackage. This demo for you:
protected void Page_Load(object sender, EventArgs e) { Label1.Text = "Stock Keeping Unit: " + 111; Label2.Text = "Universal Product Code: " + 222; Label3.Text = "Vendor Name: " + 333; Label4.Text = "Product Name: " + 444; Label5.Text = "Product Description: " + 555; Label6.Text = "Retail Price: " + 777; } protected void SaveButton_Click(object sender, EventArgs e) { string[] information = { Label1.Text, Label2.Text, Label3.Text, Label4.Text, Label5.Text, Label6.Text }; using (ExcelPackage excelPackage = new ExcelPackage()) { ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("Sheet 1"); int n = 1; for (var i = 0; i < information.Length; i++) { string[] s = information[i].Split(new char[] { ':' }, 2); worksheet.Cells[n, 1].Value = s[0] + ":"; worksheet.Cells[n, 2].Value = s[1]; n++; } FileInfo fi = new FileInfo(@"C:\Users\samwu\Desktop\RetailInformation.xlsx"); excelPackage.SaveAs(fi); ScriptManager.RegisterStartupScript(this, typeof(string), "New record added successfully", "alert('Record Saved');", true); } }
The result:
Best regards,
Sam
- Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
Thursday, January 9, 2020 9:27 AM
All replies
-
User288213138 posted
Hi NoobNoob,
However, the values that are saved in the Excel file looked liked this:I tested your code, but i get the following result:
But if you want to divide it into 2 columns, you can try to use ExcelPackage. This demo for you:
protected void Page_Load(object sender, EventArgs e) { Label1.Text = "Stock Keeping Unit: " + 111; Label2.Text = "Universal Product Code: " + 222; Label3.Text = "Vendor Name: " + 333; Label4.Text = "Product Name: " + 444; Label5.Text = "Product Description: " + 555; Label6.Text = "Retail Price: " + 777; } protected void SaveButton_Click(object sender, EventArgs e) { string[] information = { Label1.Text, Label2.Text, Label3.Text, Label4.Text, Label5.Text, Label6.Text }; using (ExcelPackage excelPackage = new ExcelPackage()) { ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("Sheet 1"); int n = 1; for (var i = 0; i < information.Length; i++) { string[] s = information[i].Split(new char[] { ':' }, 2); worksheet.Cells[n, 1].Value = s[0] + ":"; worksheet.Cells[n, 2].Value = s[1]; n++; } FileInfo fi = new FileInfo(@"C:\Users\samwu\Desktop\RetailInformation.xlsx"); excelPackage.SaveAs(fi); ScriptManager.RegisterStartupScript(this, typeof(string), "New record added successfully", "alert('Record Saved');", true); } }
The result:
Best regards,
Sam
- Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
Thursday, January 9, 2020 9:27 AM -
User-1391672913 posted
Hi Sam!
Thank you very much for your help! I'll do this and reply as soon as i can.
Sincerely,
NoobNoobThursday, January 9, 2020 9:43 AM -
User-1391672913 posted
Hi Sam!
I have done your demo and it works fine! Thank you so much for helping me.Sincerely,
NoobNoob
Friday, January 10, 2020 1:18 AM