Tag: asp.net mvc

如何从Excel(xls和xlsx)使用NPOI(C#)将graphics转换为图像

我正在写代码来使用C#和NPOI (版本2.2.1 )库从Excel( .xls和xlsx )中获取包括形状的所有图像。 其目的是从选定的Excel文件中获取包括形状的所有图像,然后将其保存到指定的目录。 经过一段时间trial-error并浏览任何引用,我能够使用此代码(我把代码读取xls格式)从Excel中获取所有图像, var lst = workbook.GetAllPictures(); for (int i = 0; i < lst.Count; i++) { var pic = (HSSFPictureData)lst[i]; byte[] data = pic.Data; /*Save Image From Byte[]*/ } 但是,我不能使用该代码在Excel中的形状,所以我试图find任何其他方法,最后我发现了一些代码,可以得到列表中的图像和形状存在Excel工作表, 这里的代码片段(也是用于读取xls格式文件的代码), var dr = workbook.GetSheetAt(sht).DrawingPatriarch; HSSFPatriarch pat = (HSSFPatriarch)dr; var shape = pat.Children; int i = 0; foreach (var s […]

Asp.net MVC导出表格到Excel | 外键显示

我想从数据库中导出excel的学生列表。 我成功地将我的过滤数据导出到Excel文件。 它看起来像这样: 问题是我想显示ID引用的表的信息,而不是ID包含ID的字段。 例如,有一个名为“Group”的表,它包含“GroupID”,“Name”和“Number” CREATE TABLE [dbo].[Group] ( [GroupID] INT IDENTITY (1, 1) NOT NULL, [Name] VARCHAR (10) NOT NULL, [Number] VARCHAR (10) NOT NULL, PRIMARY KEY CLUSTERED ([GrupaID] ASC) ); 所以我想在excel文件中的“GroupID”列中显示来自“Group”表的数据,所以而不是GroupID,它是“7”,从Group Table中显示类似Name + Number的数据。 以下是一些项目信息: – 我想保存在Excel文件中的学生表 CREATE TABLE [dbo].[Student] ( [Nume] VARCHAR (20) NOT NULL, [Prenume] TEXT NOT NULL, [Nota] INT NOT […]

从nugetpipe理器安装了ClosedXml nuget,但无法加载现有的Excel文件

我从nugetpipe理器安装了ClosedXml nuget,但无法加载现有的Excel文件。 string file = "test.xlsx"; if (System.IO.File.Exists(Server.MapPath("~/App_Data/" + file))) { var path = Server.MapPath("~/App_Data/" + file); //var workbook = new XLWorkbook(Server.MapPath("~/App_Data/" + file)); var workbook = new XLWorkbook(path); 或者我喜欢 var stream = ExcelHelper.getExcelFileAsStream(); var workbook = new XLWorkbook(stream); 没有任何工作 获得: 对象实例未在线设置对象的实例。 码: var workbook = new XLWorkbook(stream);

展开文本在Excel中被忽略

我有asp.net mvc项目,在这个项目中,我创build了带有模型数据的excel文档,现在正在尝试使用它的外观。 我有唯一的问题 – 在less数情况下,我的xlWorkSheet.Cells[y, x].WrapText = false; 被忽略… 我的项目描述字段代码: …//other fields if (model.ColumnsNeeded.ProjectDescriptionBool) { xlWorkSheet.Cells[y, x].Style.WrapText = false; xlWorkSheet.Cells[y, x++] = projItem.ProjectDescription; } …//other fields 和excel结果我得到,当点击包装的文本字段CAS时,看到属性包装文本设置: 以及我已经设置的foreach行: xlWorkSheet.Cells[y, x].EntireRow.WrapText = false;

使用ExcelDataReader上传.xlsx文件时出错

我正在研究asp.net MVC项目。 我使用ExcelDataReader组件来读取excel文件logging。 现在,当我发布我的项目到服务器上传一个.xlsxfile upload我得到下面提到的exception消息。 本地部署没有错误,但服务器。 访问path“\ Microsoft Corporation \ Internet Information Services \ 7.5.7600.16385”被拒绝。 和代码我得到的错误是: if (personsFile.FileExtension == ".xls") { Stream st = new MemoryStream(personsFile.FileArray); reader = ExcelReaderFactory.CreateBinaryReader(st); } else if (personsFile.FileExtension == ".xlsx") { Stream st = new MemoryStream(personsFile.FileArray); //exception occured on under line reader = ExcelReaderFactory.CreateOpenXmlReader(st); } 但是,当我上传一个.xls文件,我没有任何错误。 如何解决.xlsx扩展问题?

C#Excel DataTableReader对当前DataTable“Sheet1”无效

这个线程似乎没有帮助我。 我想要做的是读取一个excel .xlsx文件内容来replace一些单元格的值,并将新的文件内容返回给客户端。 但原始文件应保持原样。 我不想将新文件保存到系统 – 这不是一个解决scheme。 这里是代码: string excelFilePath = this.Server.MapPath("~/App_Data/Test.xlsx"); var fileStream = System.IO.File.Open(excelFilePath, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite); Excel.IExcelDataReader exReder = Excel.ExcelReaderFactory.CreateOpenXmlReader(fileStream); System.Data.DataSet dataSet = null; using (exReder) { dataSet = exReder.AsDataSet(); } if (dataSet == null) { throw new ArgumentNullException("Cannot Make Data Set"); } dataSet.Tables[0].Rows[0].ItemArray = new[] { "Microsoft", "Test", "ASP.NET" }; bool […]

从MVC控制器返回excel文件,并在POST请求中从angularJS下载

MVC部分 返回文件(stream,“application / vnd.ms-excel”,file.FileName); 我以上述方式从MVC控制器返回文件。 AngularJS控制器 $scope.ExcelValidate = function () { if ($scope.files && $scope.files.length && $scope.selectedFileType != -1) { busyIndicatorService.showBusy("Uploading data…"); for (var i = 0; i < $scope.files.length; i++) { var file = $scope.files[i]; $scope.file = file.name; Upload.upload({ url: '/MasterExcelImport/ValidateExcelData', fields: { uploadType: $scope.selectedFileType.Key.Key }, file: file }).progress(function (evt) { console.log('percent: ' + […]

从内存发送电子邮件与Excel附件

我已经创build了一个动作,导出表使用officeopenxml在我的mvc项目中officeopenxml 下面是我如何将我的表转换为Excel: public ActionResult ExportToExcel() { _lstRecords = (List<Summary>) Session["Paging"]; List<Excel> lstExportedExcel = new List<Excel>(); foreach (var item in _lstRecords) { Excel export = new Excel(); export.Date = item.Date.ToString("MM/dd/yyyy HH:mm"); export.Assignment = item.codeAssignment.Assignment; export.County = item.codeCounty.County; lstExportedExcel.Add(export); } ExcelPackage excel = new ExcelPackage(); var color = ColorTranslator.FromHtml("#2c3e50"); var border = ExcelBorderStyle.Double; var workSheet = excel.Workbook.Worksheets.Add("Sheet1"); […]

使用OpenXML创buildExcel不会打开文件

我正在使用OpenXML在我的MVC应用程序中创build一个Excel文档。 至于代码去,我认为我正在做的一切正确。 C# public FileResult GetExcelReport() { // Build dataset var excelStream = CreateSpreadsheet(data); return new FileStreamResult(excelStream, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet); } internal MemoryStream CreateSpreadsheet(DataSet data) { var stream = new MemoryStream(); SpreadsheetDocument ssDoc = SpreadsheetDocument.Create(stream, SpreadsheetDocumentType.Workbook); // do some stuff to make a spreadsheet ssDoc.Close(); return stream; } JS function createExcelReport(){ $.ajax({ url: "/Remote/GetExcelReport", type: "GET", dataType: […]

导出到Excel时Unicode字符不正确显示

我有一些JavaScript代码导出HTML数据到电子表格(xls)。 一切正常,但是,当我打开Excel文件的Unicode字符显示为一个充满黑色的圆圈。 所有其他数据正确显示。 这个圆圈在我的网页上显示得很完美: 但是,当我下载Excel文件时,圆圈的颜色不显示。 它显示如下: 这是我用来显示Unicode字符的代码: <td><span class="@circle">●</span></td> 就像我之前说过的,它在我的应用程序页面上工作得很好,但是当我下载Excel文件时,它变成黑色。 此外,我发现,如果我添加一个颜色的跨度样式,它显示在Excel工作表上完美。 例如,如果我使用这个,它的工作原理: <td><span class="@circle" style="color:green;">●</span> </td> 我确实需要使用@circlevariables,因为我有一种根据数据抓取颜色的方法。 circle = SharedMethods.getColor(data.ID,data.Value); 我也尝试使用FontAwesome图标,而不是Unicode字符,但是也没有工作! 它甚至没有在电子表格上显示图标。 你们有没有想法解决这个问题? 很感谢任何forms的帮助! 我应该添加更多的细节到我的问题?