Tag: epplus

如何使用EPpplus在excel中获取部分单元格样式?

我有一个单元格有一些斜体的文本和一些文本不斜体。 我如何保存格式? 我看着OfficeOpenXml.Style.ExcelStyle,并看到选项挂起为粗体,斜体等,但这些适用于整个单元格。 有没有办法使用eppplus来确定哪些文本是以某种方式格式化的,并保留这种格式? FileInfo info = new FileInfo(@"C:\excel.xlsx"); using (ExcelPackage package = new ExcelPackage(info)) { ExcelWorksheet sheet = package.Workbook.Worksheets["Sheet"]; object text = sheet.Cells[1, 1].Value; // if I do toString, I lose all formatting: string textWithOutFormat = text.ToString(); // I would assume I'd get it some how like this? if (sheet.Cells[1, 1].IsRichText) { // get […]

使用EPPlus从服务器/ LAN文件夹打开电子表格

我正在尝试使用EPPlus插件在我们的LAN上打开一个电子表格,结果不一。 在另一个内部网站的程序中,用户可以上传扩展表, ExcelPackage对象可以根据索引打开工作表。 不过,现在我试图打开基于文件path的电子表格,而不是一个HttpRequest.InputStream我得到他错误 The given key was not present in the dictionary. 我现在不需要通过索引来识别我想打开的工作表,而是需要通过名称来指定它,而不是象我们一样处理多个用户时的最佳select。 有谁知道如何使用EPPlus来使用索引来指定从LAN /服务器文件夹/位置访问Excel电子表格时要打开哪个工作表? 这是我最近的尝试。 string path = System.IO.Path.Combine(_connString, "ZipCodeTest.xlsx"); FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read); //EPPlus FileInfo file = new FileInfo(path); ExcelPackage package = new ExcelPackage(); package.Load(stream); sheet = package.Workbook.Worksheets["Query1"]; 我想最后一行看起来像这样: sheet = package.Workbook.Worksheets[0];

使用EPPlus -export excel,将范围设置为文本到特定列

我正在使用EPPlus将数据导出到excel(来自MemoryStream ),下面是代码 private static MemoryStream ExportToExcelAsStram(DataSet ds) { MemoryStream ms = new MemoryStream(); ExcelPackage package = new ExcelPackage(ms); try { for (int i = 0; i < ds.Tables.Count; i++) { ExcelWorksheet worksheet = package.Workbook.Worksheets.Add((ds.Tables[i].Rows[i]["Date"]).ToString()); using (ExcelRange rng = worksheet.Cells["B1 : B" + (ds.Tables[i].Rows.Count + 1)]) { rng.Style.Numberformat.Format = "#"; } //worksheet.Cells["B1 : B" + (ds.Tables[i].Rows.Count […]

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”属性,而不必编写单独的代码?

EPPlus'System.OutOfMemoryException'

我试图用EPPlus v4.0打开一个38MB的Excel文件,我可以将它传递给ExcelPackagevariables,但是当我试图从该variables中获取工作簿时,它会导致我出现“ System.OutOfMemoryException ”。 这是我的代码: Dim temppath = Path.GetTempPath() Dim filenamestr As String = Path.GetFileNameWithoutExtension(Path.GetRandomFileName()) Dim tempfilename As String = Path.Combine(temppath, filenamestr + ".xlsx") fileUploadExcel.SaveAs(tempfilename) Dim XLPack = New ExcelPackage(File.OpenRead(tempfilename)) GC.Collect() If File.Exists(tempfilename) Then File.Delete(tempfilename) End If Dim xlWorkbook As ExcelWorkbook = XLPack.Workbook 'the error shows here 我卡住了。 任何帮助真的不胜感激。 提前致谢。

EPPlus处置不起作用

我想创build工作簿,然后使用EPPlus写入数据。 当我创build新的工作簿时,它可以成功创build。 但是当我想写一些数据到该工作表,它失败了,错误说 该进程无法访问文件的“文件名”,因为它正在被另一个进程使用。 我已经放置了以前的ExcelPackage,但是当我写数据时仍然显示错误。 //Create new Workbook private void PengisianBaruBW_DoWork(object sender, DoWorkEventArgs e) { this.Invoke(new MethodInvoker(delegate { SetPengisianBtn.Enabled = false; })); FileInfo filePath = new FileInfo("D:\\Data Pengisian SLA Surabaya\\" + day + "_" + date + ".xlsx"); if (File.Exists(filePath.ToString())) { File.Delete(filePath.ToString()); } using (ExcelPackage pck = new ExcelPackage(filePath)) { var schedule = pck.Workbook.Worksheets.Add("Schedule"); var […]

.Net核心读取xls文件

我正在尝试读取将在Azure环境中托pipe的.NetCore控制台应用程序中的.XLS文件。 我正在使用EPPlus.Core (版本1.3.2)并获取下面的错误 “ EPPlus无法打开软件包,软件包是OLE复合文件,如果是encryption软件包,请提供密码 ” 我认为XPS文件不被EPPlus核心支持 请build议我一个解决scheme来解决这个问题。

使用EPPlus打开Excel

我试图打开一个使用epplus编写的excel文件。 我打开它使用它,它在开发服务器,但不是在发布之后。 System.Diagnostics.Process.Start(Server.MapPath("~\chart.xlsx")) 我怎样才能打开这个excel表单?

用Epplus获得excel单元格的样式

有没有什么办法来打开特定的单元格与开放的XML SDK和epplus? 目前我正在以如下方式获得价值: currentWorksheet.Cells[nRowId, 3].Text.Trim(); 为了这个,我想如果有背景颜色和边框。

在c#中使用EPPlus更新excelsheet

我有一个Excel文件,其中包含名为Data表。 这张表已经包含了一些数据。 我需要打开这个文件并在其中添加更多的数据。 我试过寻找这个,但每个人都只是在他们的工作簿中创build新的工作表。 我需要更新当前表单。 以下是我的代码: MemoryStream ms = new MemoryStream(); using (FileStream fs = File.OpenRead(@"Path\File.xlsx") using (ExcelPackage excelPackage = new ExcelPackage(fs)) { ExcelWorkbook excelWorkBook = excelPackage.Workbook; ExcelWorksheet excelWorksheet = excelWorkBook.Worksheets.First(); excelWorksheet.Cells[1, 1].Value = "Test"; excelWorksheet.Cells[3, 2].Value = "Test2"; excelWorksheet.Cells[3, 3].Value = "Test3"; excelPackage.SaveAs(ms); } 但它没有更新工作表。 我不是我做错了什么。 任何人都可以帮助我。 谢谢