3

我需要能够从 excel 文件中读取数据并在验证后将数据上传到数据库。

但是,我正在使用的服务器不允许 Web 应用程序的写入权限,所以我需要知道是否可以从 excel 文件中读取而不通过上传将其写入服务器?

到目前为止,我还没有找到明确的答案。

谢谢!

4

1 回答 1

2

假设您的上传控件被调用fileUpload

你不需要做一个fileUpload.SaveAs("path"). 您可以使用 读取流fileUpload.PostedFile.InputStream。我将它用于其中包含 excel 表的 zip 文件(顺便说一下,该库是 Ionic):

using (var file = ZipFile.Read(fileUpload.PostedFile.InputStream))
{
    foreach (var zipEntry in file.Where(ze => ze.FileName.EndsWith(".xls")
                                           || ze.FileName.EndsWith(".xlsx")))
    {
        // process the Excel files here.
    }
}

对不起,我对 VB.net 不是很熟悉,所以下面的内容可能是错误的。但是因为您要求的是 VB.net 版本:

Using file As var = ZipFile.Read(fileUpload.PostedFile.InputStream)
    For Each zipEntry As var In file.Where(ze => ze.FileName.EndsWith(".xls") or ze.FileName.EndsWith(".xlsx"))
        ' process the Excel files here.
    Next
End Using
于 2013-03-12T19:50:36.270 回答