Tag: asp.net mvc

从IIS上的Excel文件中读取有限的行

我有一个在IIS上托pipe的asp.net mvc应用程序。 我有一个用户上传包含50k +行的excel文件的表单。 我用下面的C#代码读取了excel文件。 public DataTable GetExcelDataTable(string fileName) { string connectionString = Path.GetExtension(fileName) == "xls" ? string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data source={0}; Extended Properties=Excel 8.0;", fileName) : string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties=Excel 12.0;", fileName); var conn = new OleDbConnection(connectionString); using (var adapter = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", conn)) { var ds = new DataSet(); adapter.Fill(ds); DataTable data = […]

将IEnumerable <T>导出到Excel

任何人都知道如何或一些图书馆使用这个?

“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机(服务器)上注册

我知道这个问题有十几个答案和post,但没有任何作品适合我。 我有我的MVC 5应用程序,我将它部署到我的服务器的IIS 7.5。 应用程序运行良好,一切工作,直到我去使用ACE.OLEDB行动。 我得到这个错误: [InvalidOperationException: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.] System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper) +1785474 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +1802032 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +100 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions) +61 System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) […]

用EPPlus生成Excel文件失败

当我尝试使用EPPlus生成Excel文件时,Excel给我以下错误信息: Excel无法打开文件“myfilename.xlsx”,因为文件格式或文件扩展名无效。 validation文件是否已损坏,文件扩展名是否与文件格式匹配。 这是我的代码: public ActionResult Index() { using (ExcelPackage package = new ExcelPackage()) { // I populate the worksheet here. I'm 90% sure this is fine // because the stream file size changes based on what I pass to it. var stream = new MemoryStream(); package.SaveAs(stream); string fileName = "myfilename.xlsx"; string contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; […]