C# 将电子表格导入asp.net程序并列出工作表

C# 将电子表格导入asp.net程序并列出工作表,c#,asp.net,excel,C#,Asp.net,Excel,我必须在asp.net项目中导入电子表格的内容。后面的代码是c#。我知道了如何在用户的计算机上定位电子表格,以及如何将数据从给定的工作表导入到数据表中。问题是我可能事先不知道工作表的名称。如何向用户提供可用工作表的列表并让他们选择一个 Bob您无法告诉ASP.NET页面在用户的PC上查找文件的位置。如果是这样的话,没有什么能阻止你窥探用户的整个机器并收集个人信息 您的选项是向用户提供一个文件上载控件(最实用的是asp:FileUpload服务器控件),并允许用户选择要提交的文件。如果您需要更多的

我必须在asp.net项目中导入电子表格的内容。后面的代码是c#。我知道了如何在用户的计算机上定位电子表格,以及如何将数据从给定的工作表导入到数据表中。问题是我可能事先不知道工作表的名称。如何向用户提供可用工作表的列表并让他们选择一个


Bob

您无法告诉ASP.NET页面在用户的PC上查找文件的位置。如果是这样的话,没有什么能阻止你窥探用户的整个机器并收集个人信息

您的选项是向用户提供一个文件上载控件(最实用的是asp:FileUpload服务器控件),并允许用户选择要提交的文件。如果您需要更多的控制,则必须使用ASP.NET以外的(或除ASP.NET之外的)其他应用程序,例如驻留在用户计算机上的winform或console应用程序。

我找到了答案:

OleDbConnection objConn=null; objConn=新的OLEDB连接(pConnectionString); //其中pConnectionString看起来像 //“Provider=Microsoft.Jet.OLEDB.4.0;数据源=C:\Source\Sheetname.xls;扩展 //属性=Excel 8.0;” //打开与数据库的连接。 objConn.Open(); //获取包含架构guid以及工作表名称的数据表。 dt=objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null)


dt的行(数据表包含工作表名称)

Hi,Bob。欢迎来到StackOverflow!您可能需要指定如何读取Excel文档。您使用的是COM互操作还是第三方库?当然。我使用的是oledbconnectionobjconn=null;objConn=新的OLEDB连接(pConnectionString);其中pConnectionString=“Provider=Microsoft.Jet.OLEDB.4.0;数据源=spreadsheet.xls;扩展属性=excel8.0;”您好,安东尼,感谢您的回复。你似乎误解了这个问题。我不是在寻找如何在用户的计算机上找到文件,而是寻找如何在电子表格中列出我没有找到的工作表。顺便说一下,我发现AsyncFileUpload比FileUpload工作得更好。我在上传文件时遇到问题。上下快速移动