Tag: asp.net mvc

使用可选列号从数据表中创build对象列表

我有一个MVC的Web应用程序,允许用户上传Excel文件。 excel文件具有以下列计数 文件1 => 10列(8个必需和2个可选) 文件2 => 8列(6个必需和2个可选) 文件3 => 6列(5个必填项和1个可选项) 文件4 => 4列(4个必选和0个可选) 我得到了一个DataTable已经填充的列名基于上传的Excel文件。 我已经提前创build了一个有10个属性的class : public class ImportData { public string OpertorName { get; set; } public string MachineName { get; set; } …. } 现在我想实现的是从DataTable创build一个List<ImportData> 。 我知道我可以做到以下几点 List<ImportData> imports = dt.AsEnumerable().Select(row => new ImportData { OpertorName = row.Field<string>("OPERTOR NAME"), MachineName = row.Field<string>("MACHINE […]

Infragistics WebExcelExporter设置要导出的最大行数

我使用infragistics WebDataGrid在ASP.NET应用程序中显示一些元素。 现在我使用WebExcelExporter类为所有分页行创build一个excel文件。 在WebExcelExporter中,我可以使用DataExportMode属性来设置要导出的元素的数量。 DataExportMode属性可以设置为DataExportMode.AllDataInDataSource和DataExportMode.DataInGridOnly。 现在的问题是,我只能显示当前页面或所有页面的结果。 由于性能,我想只导出4000行的最大数量。 有没有可能设置应该导出的最大行数?

如何在Azure上运行excel?

我使用MVC4在ASP.NET中实现了一个新的应用程序。 我想使用Azure托pipe我的项目。 我已经创build了一个云,但是我的数据表有问题。 我正在使用一个Excel文件来计算一些价格。 我尝试使用openXML,但它不能重新计算我的表,所以我不能使用它。 然后,我想在我的云上安装Microsoft Excel来运行我的Excel文件。 你有什么不同的想法? 我的解决scheme能工作吗

ASP.NET MVC从两列获取值到一列

我有两个excel文件的列: delivery_date1 – delivery_date2 2013-10-14 – null null – 2013-10-19 我想使用上传的Excel文件中的两列来更新交付表,但在我的表中,我只有一列是delivery_date。 我想要的是这样的(根据上面的Excel数据): 邮寄date 二零一三年十月十四日 2013年10月19日 我怎样才能做到这一点使用asp.net mvc? 这是我的代码: delivery_id = Convert.ToInt32(DB.db.Insert("dbo.deliveries", "delivery_id", new { delivery_date = delivery_date1, delivery_date = delivery_date2, })); 我有这样的错误: 匿名types不能具有多个具有相同名称的属性。

Epplus:如何使“LoadFromCollection”在模型中使用属性

我有一个ActionResult(在MVC 5网站),成功地使用Epplus将数据集导出到Excel文档。 在ActionResult代码块中,我使用这样的代码将该列格式化为短date。 无需此代码,date列显示为int值。 // format date columns as date worksheet.Column(6).Style.Numberformat.Format = DateTimeFormatInfo.CurrentInfo.ShortDatePattern; 但是,在模型中,我已经把它定义为一个属性。 它在View页面上效果很好,但不会将列的格式设置为短date – 因此,上面显示的代码。 [Column(TypeName = "date")] [DisplayName("Exit Date")] **[DisplayFormat(DataFormatString = "{0:d}")]** public DateTime ExitDate { get; set; } 为了提供进一步的上下文,我从一个集合加载我的工作表。 worksheet.Cells["A5"].LoadFromCollection(Collection: exportQuery, PrintHeaders: true); 有没有一种方法可以扩展LoadFromCollection,以便工作表不仅可以加载Collection内容,还可以加载模型中存在的格式属性。 “DisplayName”属性被收集,所以有没有办法来收集“DisplayFormat”属性,而不必编写单独的代码?

打开下载的excel文件后文件格式错误

在我的应用程序中,我试图从mvc中的字节数组内容下载excel文件。 文件下载后,当我打开下载的文件,我得到错误。 “您试图打开的文件”XXXX.xls“采用与文件扩展名指定的格式不同的格式。在打开文件之前,确认文件没有损坏,并且来自受信任的来源。档案现在?“ 在上面的错误中点击是,我得到另一个错误 Excel在'XXXX.xls'中发现了不可读的内容。 你想恢复这个工作簿的内容? 如果您信任此工作簿的来源,请单击“是”。 再次,当我在上面的错误消息中点击yes时,我又收到第一个错误消息。 “您试图打开的文件”XXXX.xls“采用与文件扩展名指定的格式不同的格式。在打开文件之前,确认文件没有损坏,并且来自受信任的来源。档案现在?“ 在上面的错误消息中点击yes后,excel打开一个修复popup窗口,显示里面的消息。 消息是 修复logging:从/xl/styles.xml部分格式(样式) 这是我的控制器代码 [HttpPost, FileDownload] public FileContentResult GetReport(DateTime StartDate, DateTime EndDate, int ReportType) { var reportData = new Model().GetReport(StartDate, EndDate, ReportType); string fileName = "Report " + (TimeZoneUtil.ConvertUtcDateTimeToESTDateTime(DateTime.UtcNow).ToString("yyyy:MM:dd:hh:mm:ss")) + ".xls"; return File(reportData, MimeMapping.GetMimeMapping(fileName), fileName); } 我使用jQuery File Download Plugin调用这个方法,我的代码是 var dataToSend = { "StartDate": $("#dtpreportstartdate").val(), […]

在Excel工作簿中获取工作表而无需打开文件

我正在构build一个ASP.NET MVC 2 Intranet应用程序,用户将在其中上传数据文件。 如果文件是Excel电子表格,则应该给用户select他们想要导入的工作表。 其中一些文件可能非常大,因此将被asynchronous导入。 但是,不用保存/打开文件就可以获取工作表列表。 这可能吗? 或者任何人都可以提出一个体面的解决方法(而不是在文本框中接受工作表名称)?

在导出excel之前更改数据

我有一个包含布尔值的列表。 我想将该列表导出为ex​​cel,但对于客户来说这一定是有意义的。 当我按原样输出它时,它会按预期显示True和False等值,但这些值可能对客户的感觉没有任何意义。 这是我做excel导出的方式: LiveModReports model = new LiveModReports(); List<ModerationDM.DetailedContent> liveModListDM = new List<ModerationDM.DetailedContent>(); liveModListDM = contentBLL.GetContentsForMod(modId, startDate, endDate); if (liveModListDM != null) { model.ContentExcelList = new List<ContentExcel>(); foreach (var item in liveModListDM) { model.ContentExcelList.Add(new ContentExcel() { ModerasyonNumarasi = item.ModId, Kategori = item.Category, AltKategori = item.SubCategory, IcerikAdresi = item.ContentURL, IcerikSahibiTamAdi = item.ContentUFullName, IcerikSahibiEPosta = item.ContentUserEmail, […]

我如何更新和保存从asp.net mvc excel文件?

我有一个现有的delphi桌面应用程序,我改写为一个asp.net mvc应用程序。 桌面应用程序有大约120个Excel报告。 这些报告通常有几个命名单元格包含设置信息(客户端ID等),一些数据查询返回到SQL Server数据和几个关键表。 为了生成桌面应用程序的报告,我使用ole自动化 打开报告 用正确的数据填充命名的单元格 使用ActiveWorkbook.RefreshAll()更新查询和数据透视表 保存报告 我想在我的Web应用程序中执行此操作。 但是在服务器上不支持ole自动化,并且不起作用。 我看到的所有的Excel组件都不支持刷新查询和/或关键表。 目前我最好的select似乎是使用一些报告生成器重写报告,并将它们导出为ex​​cel。 然而,生成的文件需要更长的时间才能写入,function更less(没有关键表格),当然还有120个文件。 有关如何使用现有报告的build议? 更新 Excel安装在服务器上,与开发机器上的版本相同。 我的mvc代码是这样的: objApp = new Application(); objBooks = objApp.Workbooks; objBook = objBooks.Open(FileName); objApp.DisplayAlerts = false; // don't warn if pivot table changed objApp.ActiveWorkbook.RefreshAll(); objBook.SaveAs(newFileName); 在开发机器上它工作正常,但在服务器上,它在第一行失败 objApp = new Application(); 与System.UnauthorizedAccessException:检索具有CLSID {00024500-0000-0000-C000-000000000046}的组件的COM类工厂失败,原因如下:80070005访问被拒绝。 (从HRESULTexception:0x80070005(E_ACCESSDENIED))。

无法更新。 数据库或对象是只读的

在我的MVC3 Razor项目中,我已经上传了一个Excel工作表,并保存在我的项目文件夹中。 我需要读取Excel中的值。 要做到这一点,我只是创buildOLedbConnection.i得到了错误“无法更新。数据库或对象是只读的。” 在执行行dbConnection.Open(); 控制器: string fp="@"+Session["FilePathFinal"].ToString(); DataTable fooData = new DataTable(); OleDbConnection dbConnection = new OleDbConnection (@"Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data Source='"+fp+"';" + @"Extended Properties=""Excel 8.0;"""); dbConnection.Open(); fp是文件path。 文件path包含值@D:\MVC\Admin\Import.Admin\App_Data\ImportFileHome\Baby needs.csv 如何摆脱这个问题。 任何帮助? 注意:我的Excel文件是Excel 2013