我需要能够从 excel 文件中读取数据并在验证后将数据上传到数据库。
但是,我正在使用的服务器不允许 Web 应用程序的写入权限,所以我需要知道是否可以从 excel 文件中读取而不通过上传将其写入服务器?
到目前为止,我还没有找到明确的答案。
谢谢!
假设您的上传控件被调用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