Tag: epplus

我如何过滤EPPlus中的列(而不是行)?

在EPPlus中过滤特定列中的行非常简单: private ExcelWorksheet prodUsageWorksheet; . . . prodUsageWorksheet.Cells["A6:A6"].AutoFilter = true; 这允许我筛选列A中的行: 我还需要过滤某些列,比如月份列(在屏幕截图中,9月15日和10月15日,但通常是多个)。 例如,我想用EPPlus编程生成以下代码: 取消select“全部select”,select一个月的子集,然后单击“确定”button,不select折叠。 看一些传统的Excel Interop代码,似乎在那里,它是这样做的: fld = ((PivotField) pvt.PivotFields("Month")); fld.Orientation = XlPivotFieldOrientation.xlColumnField; fld.NumberFormat = "MMM yy"; 具体而言,第二个代码块(方向设置为xlColumnField )是运行sorting/filterbutton的列,在操作时,该列有条件地显示/隐藏各种列。 是否根据数字格式确定哪些列是可显示/可隐藏的? 也就是说,如果价值是“9月15日”或“10月16日”? 我不知道,但我不能看到代码中更具体地设置列过滤的限制。 无论如何,如果这是Excel Interop如何完成它的话,EPPlus中的等价物是什么?

使用EPPlus打开Excel文档

我正在尝试使用EPPlus参考/包打开Excel文档。 我无法打开Excel应用程序。 我错过了什么代码? protected void BtnTest_Click(object sender, EventArgs e) { FileInfo newFile = new FileInfo("C:\\Users\\Scott.Atkinson\\Desktop\\Book.xls"); ExcelPackage pck = new ExcelPackage(newFile); //Add the Content sheet var ws = pck.Workbook.Worksheets.Add("Content"); ws.View.ShowGridLines = false; ws.Column(4).OutlineLevel = 1; ws.Column(4).Collapsed = true; ws.Column(5).OutlineLevel = 1; ws.Column(5).Collapsed = true; ws.OutLineSummaryRight = true; //Headers ws.Cells["B1"].Value = "Name"; ws.Cells["C1"].Value = "Size"; ws.Cells["D1"].Value = […]

如何使用Excel的EPPlus库创build多级单元格

我使用EPPlus进行Excel文件生成。 我的意思是我需要将HTML文本(粗体,斜体,字体颜色,名称,大小参数)转换为Excel单元格。 我想它需要创build多样式的单元格,例如: 单元格文本是“你好!” 我想要的风格是: he – bold ll – italic o! – red colored font 或(更复杂) hello! – bold ll – italic (also bold) o! – red colored (also bold) 我知道MS OpenXML库(它允许我做我需要的)。 这是好的,但更复杂的实施库。

使用EPPlus Excel到DataTable – excellocking进行编辑

我正在使用以下代码使用EPPlus将Excel转换为数据表: public DataTable ExcelToDataTable(string path) { var pck = new OfficeOpenXml.ExcelPackage(); pck.Load(File.OpenRead(path)); var ws = pck.Workbook.Worksheets.First(); DataTable tbl = new DataTable(); bool hasHeader = true; foreach (var firstRowCell in ws.Cells[1, 1, 1, ws.Dimension.End.Column]) { tbl.Columns.Add(hasHeader ? firstRowCell.Text : string.Format("Column {0}", firstRowCell.Start.Column)); } var startRow = hasHeader ? 2 : 1; for (var rowNum = startRow; […]

冻结EPPlus中的列(Excel分割function)

我一直在使用EPPlus进行大量工作,以生成Excel文件,以获取项目所需的导出数量。 他们想要的大部分出口往往与他们已有的出口产品完全匹配。 其中之一,但是,他们想要不同的。 他们希望在完成一些典型的和特定的编辑之后,它看起来就像传统系统中的一个出口。 但是,他们所做的某些编辑使得每一行都比他们想要的要长,所以他们希望保留一些列信息locking在屏幕上,而其余的列可以正常滚动(即Excel的分割function)。 我试着用ws.Column(6).Style.Locked = truelocking列,但是这似乎不工作。 我也尝试设置一个单元格区域的Locked属性为true,但也没有奏效。 我怎样才能冻结列?

如何使用EPPlus在单元格内创build链接

我想弄清楚如何使用EPPlus代替包含链接文本的单元格在单元格内编写超链接。 我需要它被认为是一个链接,并可点击。 任何帮助表示赞赏。

如何使用epplus遍历Excel表中的行?

我是新来的epplus ,我试图从Excel表中读取一些值。 这是我迄今为止: var fileInfo = new FileInfo(filename); using(var excelPackage = new OfficeOpenXml.ExcelPackage(fileInfo)) { foreach (var sheet in excelPackage.Workbook.Worksheets) { foreach (ExcelTable table in sheet.Tables) { foreach(var row in table.Rows) // <– !! { … } } } } 但是,现在我很难过,因为ExcelTable只有一个Columns属性,而不是我预期的一个Rows属性。 我无法在库中的任何对象上findRows属性。 如何遍历一个表,读Row for Row?

使用带有MemoryStream的EPPlus

我正在使用EPPlus在C#中生成XLSX文件。 只要我用一个内存stream实例化ExcelPackage – 我得到的错误: “在写入操作期间发生磁盘错误(从HRESULTexception:0x8003001D(STG_E_WRITEFAULT))” 代码是: MemoryStream stream = new MemoryStream(); using (ExcelPackage package = new ExcelPackage(stream)) { … } 有没有人看过这个?