如何在网页上使用EPPlus生成Excel文件并发送给客户端?

时间:2015-04-15 12:55:04

标签: asp.net vb.net epplus

我尝试使用EEPlus在服务器上生成Excel文件并将其发送到客户端浏览器。但是,我不知道如何从我的.aspx页面访问.net库并使用它。

我已将EPPlus.dll复制到我网页下的bin文件夹中,并创建了以下测试页面。但是当我运行它时,我收到以下错误:

编译器错误消息:BC30002:键入' ExcelPackage'没有定义。 (l.5)

我查看了EPPplus网页上的example,但它没有提供有关如何访问.net库的信息。

非常感谢任何帮助。

excel.aspx

<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="OfficeOpenXml" %>

<%
Dim pck As new ExcelPackage()
Dim ws As ExcelWorksheet = pck.Workbook.Worksheets.Add("Demo")

' Sheet's name
ws.Name = "Test"

' Set value for cell
ws.Cells["A1"].Value = 123

' Send to client
Response.ContentType = "application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet"
Response.AddHeader("content-disposition", "attachment; filename=ExcelDemo.xlsx")
Response.BinaryWrite(pck.GetAsByteArray())
%>

1 个答案:

答案 0 :(得分:0)

因为这个问题仍然没有答案,这里对我来说对于不使用代码隐藏的aspx解决方案有用...我在“bin”中有DocumentFormat.OpenXml.dll,EPPlus.dll和EPPlus.xml文件“根目录中的文件夹,bin文件夹中没有其他dll文件。解决方案本身也没有已编译的dll文件。

<%@ import Namespace="OfficeOpenXml" %>
<%@ import Namespace="System.Configuration" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<%@ import Namespace="System.IO" %>

<%@ Import Namespace="WebFormsTest.Models" %>
<%@ Import Namespace="EPPlus" %>

<%    Dim pck As OfficeOpenXml.ExcelPackage
    Dim ws As OfficeOpenXml.ExcelWorksheet
    pck = New OfficeOpenXml.ExcelPackage

    ws = pck.Workbook.Worksheets.Add("Mailing List")
    ws.SetValue("A1", "a")

    Response.Clear()
    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
    Response.AddHeader("content-disposition", "attachment;  filename=MailingList.xlsx")
    Response.BinaryWrite(pck.GetAsByteArray())
    Response.End
%>