我想在一个Excel文件中创建两个不同的Excel工作表。我正在使用HTML表创建Excel工作表,我想使用HTML表创建第二个Excel工作表。下面是我创建和下载Excel文件的代码:
StringBuilder _String = new StringBuilder();
_String.Append(" <table border=\"1\" style=\"text-align: center; border-collapse: collapse;font-family: Arial, Helvetica,
sans-serif; font-size: 13px;\" cellpadding=\"5\" cellspacing=\"0\">");
_String.Append("<tr>");
_String.Append("<td style=\"padding: 4px; margin: 3px; height:70px; vertical-align:middle; \" rowspan=\"4\">");
_String.Append(" ");
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px;height:70px; text-align:center; vertical-align:middle; \"
rowspan=\"4\">");
_String.Append(Convert.ToString(_Count));
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px;height:70px; vertical-align:middle; text-align:center; \"
rowspan=\"4\">");
_String.Append(Location);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px;height:70px; vertical-align:middle; text-align:center; \"
rowspan=\"4\">");
_String.Append(ATMCode);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; height:70px; vertical-align:middle;background-color: #c0c0c0;\"
rowspan=\"4\">");
_String.Append(" ");
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; text-align:center; height:70px;
vertical-align:middle;background-color: #c0c0c0;\" rowspan=\"4\">");
_String.Append(Time);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; text-align:center; \">");
_String.Append("1000");
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; background-color: #c0c0c0;\">");
_String.Append(OpeningBal_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; \">");
_String.Append(OpeningBalAm_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; background-color: #c0c0c0;\">");
_String.Append(Dispense_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; \">");
_String.Append(DispenseAm_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; background-color: #c0c0c0;\">");
_String.Append(Purge_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; \">");
_String.Append(PurgeAm_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; background-color: #c0c0c0;\">");
_String.Append(Overages_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; \">");
_String.Append(OveragesAm_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; background-color: #c0c0c0;\">");
_String.Append(shortages_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; \">");
_String.Append(shortagesAm_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; \">");
_String.Append(ClosingBR_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; \">");
_String.Append(ClosingBRAm_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; background-color: #c0c0c0;\">");
_String.Append(Rep_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; \">");
_String.Append(RepAm_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; \">");
_String.Append(CB_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; \">");
_String.Append(CBAm_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; background-color: #c0c0c0;\">");
_String.Append(TxnNumber);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; background-color: #c0c0c0;\">");
_String.Append(" ");
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; background-color: #c0c0c0;\">");
_String.Append(Deposit);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; background-color: #c0c0c0;\">");
_String.Append(Deposit);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; background-color: #c0c0c0;\">");
_String.Append(RetainedCrd);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; background-color: #c0c0c0;\">");
_String.Append(" ");
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; background-color: #c0c0c0;\">");
_String.Append(SCB_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; \">");
_String.Append(SCBAm_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; background-color: #c0c0c0;\" rowspan=\"4\">");
_String.Append(" ");
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; background-color: #c0c0c0;\">");
_String.Append(OpeningBal_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px; \">");
_String.Append(OpeningBalAm_1000);
_String.Append("</td>");
_String.Append("<td style=\"padding: 4px; margin: 3px;
height:70px; background-color:#CCFFCC;Color:#2E6C31;
vertical-align:middle; text-align:center;\" rowspan=\"4\">");
_String.Append("<b>" + Status + "</b>");
_String.Append("</td>");
_String.Append("</tr>");
_String.Append("</table>");
下载代码:
Response.ContentType = "application/x-msexcel";
Response.AddHeader("Content-Disposition", "attachment;
filename=ExcelFile.xls"); Response.ContentEncoding = Encoding.UTF8;
Response.Write(_String.ToString()); Response.End();
答案 0 :(得分:2)
我附上一些代码。但我很困惑,因为你在单个工作簿中写了“两个excel文件”。没有意义。所以我给你一个代码,用两张表创建一个excel文件:
因此,下载ClosedXML它是一个开源项目。 http://closedxml.codeplex.com/
将visual studio中的引用添加到项目的引用中:
创建excel文件服务器端:
创建工作簿
var workbook = new XLWorkbook();
添加工作表:
var worksheet = workbook.Worksheets.Add("sheetName");
将数据附加到工作表:
示例:
worksheet.Cell("A1").Value = "someData";
添加另一张工作表:
var worksheet2 = workbook.Worksheets.Add("sheetName2");
保存文件
//path can be this
//string path = Server.MapPath(~/DirectoryInYourProject/FileName.xlsx);
workbook.SaveAs(path);
如果您使用ASP.NET MVC:代码在控制器中下载
return File(
path,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"FileName.xlsx");
如果你使用Web Froms:代码下载代码:
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
response.AddHeader("Content-Disposition", "attachment; filename=" + "FileName.xlsx;");
response.TransmitFile(path);
response.Flush();
response.End();
我认为这是最好的方式。使“下载为excel”功能。当然它可以通过几种方式制作,我只是告诉你我所知道的。对于使用ClosedXML,它的网站有很多例子。
答案 1 :(得分:0)
我可以选择使用EPPlus库完成此操作。这是最简单的方法