标签: excelpackage

如何用"excelpackage"设置颜色或背景

我使用这个包:ExcelPackage虽然我无法弄清楚如何设置单元格的背景颜色.我试着用这个:

ws.Cells["A1"].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
Run Code Online (Sandbox Code Playgroud)

但它表明找不到属性.

在此输入图像描述

听起来我应该使用类似的东西:

worksheet.Cell(5, columnIndex + 1).Style = "background-color: red";
Run Code Online (Sandbox Code Playgroud)

但我不确定它是如何工作的,我找不到它的教程.请帮忙.

c# excel excelpackage

16
推荐指数
1
解决办法
2万
查看次数

设置使用ExcelPackage创建的Excel单元格的货币格式

如何设置使用ExcelPackage创建的Excel单元格的货币格式?

worksheet.Cell(i, 7).Value = item.Price.ToString();
Run Code Online (Sandbox Code Playgroud)

c# excel excelpackage

14
推荐指数
2
解决办法
3万
查看次数

创建Excel工作表时出现NullReferenceException

我想填写一个excel文件,所以我使用ExcelPackage:Office Open XML格式.但我有一个错误.我的代码:

string fileName = "DBE_BAKIM_FORMU" + ".xlsx";
FileInfo fi = new FileInfo(HttpContext.Current.Server.MapPath("~/") + fileName);

using (ExcelPackage xlPackage = new ExcelPackage(fi))
{
    ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets[1];
    dbeDataContext db = new dbeDataContext();
    CAGRI c = (from x in db.CAGRIs where x.CagriID == ID select x).SingleOrDefault();
    USER u = (from x in db.USERs where x.UserID == Convert.ToInt32(Session["user"]) select x).SingleOrDefault();

    worksheet.Cell(6, 3).Value = c.TalepTarihi.ToShortDateString();
    worksheet.Cell(7, 3).Value = c.TalepTuru;
    worksheet.Cell(8, 3).Value = c.ModulAdi;
    worksheet.Cell(9, 3).Value = c.EkranRaporAdi;
    worksheet.Cell(10, 3).Value = c.VerilenSure;
    worksheet.Cell(11, 4).Value …
Run Code Online (Sandbox Code Playgroud)

c# asp.net visual-studio-2010 nullreferenceexception excelpackage

7
推荐指数
1
解决办法
4804
查看次数

使用带有格式的excel包编写excel

我想用excel包编写excel文件 System.Data.DataTable

并需要格式化excel文件中的一些单元格,如背景颜色.

我怎样才能做到这一点?

c# datatable excel excelpackage

7
推荐指数
1
解决办法
2万
查看次数

如何以编程方式从模板excel表创建excel表?

我正在从 tempalte excel 表创建一个 excel 表。

我有一个代码

try
{
    FileInfo newFile = new FileInfo(@"D:\ExcelFromTemplate.xlsx");
    FileInfo template = new FileInfo(@"D:\template.xlsx");

    using (ExcelPackage xlPackage = new ExcelPackage(newFile, template))
    {
        
        ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets["Sheet1"];
        
        ExcelCell cell = worksheet.Cell(5,1);
        cell.Value = "15";
        
        //worksheet.Cell(5, 1).Value = "Soap";

        //xlPackage.Save();
        Response.Write("Excel file created successfully");
    }

}
catch (Exception ex)
{
    Response.WriteFile(ex.InnerException.ToString());
}  
Run Code Online (Sandbox Code Playgroud)

此代码创建与模板 excel 文件相同的新 excel 文件,但无法添加单元格值。为什么?

我已经用 2 种方法尝试过,就像上面 cell(5,1) 的代码一样。但是excel表创建时没有写入单元格值。我们如何添加它。

c# asp.net excel excelpackage

5
推荐指数
1
解决办法
2万
查看次数

C#ExcelPackage(EPPlus)DeleteRow不会更改图纸尺寸?

我正在尝试构建一个数据导入工具,它接受来自用户的EXCEL文件并解析文件中的数据以将数据导入我的应用程序.

我在使用DeleteRow遇到一个奇怪的问题,我似乎无法在网上找到任何信息,尽管看起来有人会遇到过这个问题.如果这是一个重复的问题,我道歉,但是在搜索网页后我找不到与我的问题相关的任何内容,除了这个仍然没有解决我的问题.

所以问题:

我使用以下代码尝试通过ExcelPackage"删除"具有空白数据的任何行.

                for (int rowNum = 1; rowNum <= ws.Dimension.End.Row; rowNum++)
                {
                    var rowCells = from cell in ws.Cells
                                        where (cell.Start.Row == rowNum)
                                        select cell;
                    if (rowCells.Any(cell => cell.Value != null))
                    {
                        nonEmptyRowsInFile += 1;
                        continue;
                    }
                    else ws.DeleteRow(rowNum);
                    //Update: ws.DeleteRow(rowNum, 1, true) also does not affect dimension
                }
Run Code Online (Sandbox Code Playgroud)

单步执行该代码,我可以看到DeleteRow确实被调用了正确的行号,但问题是当我在返回的结果对象上设置"文件中的总行数"时:

parseResult.RowsFoundInFile = (ws.Dimension.End.Row);
Run Code Online (Sandbox Code Playgroud)

即使在调用DeleteRow之后,ws.Dimension.End.Row仍将返回原始行计数.

我的问题是......我是否必须"保存"工作表或调用某些内容才能使工作表意识到这些行已被删除?如果行仍然"存在",调用"DeleteRow"有什么意义?任何有关这方面的见解将不胜感激......

谢谢

c# excelpackage epplus

5
推荐指数
1
解决办法
4164
查看次数

如何使用 EPPlus Excel Package Plus 删除空白行

我正在使用 EPPlus 4.1.0.0,我想将 Excel 工作表转换为数据表。

Excel 文件末尾有几个空行。

因此,在转换它时,我还将空行放入数据表中。

在将其转换为数据表之前如何删除空行?

.net c# excelpackage epplus

5
推荐指数
1
解决办法
8179
查看次数

ExcelPackage和98,000行

我想用codeplex excelpackage写一个excel文件(2007),但是要花很多时间编写excel文件.我没有找到任何可以接受数据源的方法.

我的代码片段:

var newFile = new FileInfo(GlobalVariables.Compare2007Path);

using (var excelpackage = new ExcelPackage(newFile))
{
  var myWorkbook = excelpackage.Workbook;
  myWorkbook.Worksheets.Add("sheetname");

  var xlWorkSheet = xlWorkBook.Worksheets["sheetname"];

  //loop the data and fill the columns
  var rowCount = 2;
  foreach (var compare in objCompare)
  {
    xlWorkSheet.Cell(rowCount, 1).Value = compare.adserverIdSite.ToString();
    xlWorkSheet.Cell(rowCount, 2).Value = compare.site;
    xlWorkSheet.Cell(rowCount, 3).Value = compare.adserverIdZone.ToString();
    xlWorkSheet.Cell(rowCount, 4).Value = compare.zone;
    xlWorkSheet.Cell(rowCount, 5).Value = compare.position;
    xlWorkSheet.Cell(rowCount, 6).Value = compare.weekday;
    xlWorkSheet.Cell(rowCount, 7).Value = compare.oldimps.ToString();
    xlWorkSheet.Cell(rowCount, 8).Value = compare.olduu.ToString();
    xlWorkSheet.Cell(rowCount, 9).Value = compare.oldimpsuu.ToString();
    xlWorkSheet.Cell(rowCount, 10).Value = …
Run Code Online (Sandbox Code Playgroud)

c# excel excelpackage

4
推荐指数
1
解决办法
3487
查看次数

C#创建/修改/读取.xlsx文件

我正在寻找一种方法来创建,修改,读取的.xlsx在C#中的文件,而无需安装Excel或给予用户下载之前在服务器上创建文件.

我发现NPOI http://npoi.codeplex.com/看起来不错但支持.xls而不是.xlsx

我找到了ExcelPackage http://excelpackage.codeplex.com/,它看起来很棒,但是在将文件发送给用户之前,还有额外的开销在服务器上创建文件.有没有人知道这方面的方法?

我找到了EPPlus http://epplus.codeplex.com,但我不确定这是否需要在服务器上创建文件才能发送给用户?

我对此非常陌生,所以任何指导/示例等都会非常感激.

c# excel npoi excelpackage epplus

3
推荐指数
1
解决办法
3万
查看次数

使用数据注释设置由 LoadFromCollection (epplus) 生成的单元格的格式

我正在使用 eeplus 创建一个 Excel 电子表格,如下所示

using (var pck = new ExcelPackage())
{
  var ws = pck.Workbook.Worksheets.Add("Customers");
  ws.Cells["A1"].LoadFromCollection(customers, PrintHeaders: true);

  var ms = new System.IO.MemoryStream();
  pck.SaveAs(ms);

  ms.WriteTo(Response.OutputStream);
}
Run Code Online (Sandbox Code Playgroud)

客户类别具有如下属性

[DisplayName("Customer creation date")]
public DateTime Created { get; set; }
Run Code Online (Sandbox Code Playgroud)

DisplayName似乎很荣幸,因此最上面的行将显示Customer creation date,但单元格内容显示为43257,41667.

我真正想要的是具有格式的单元格2018-04-05

我可以做数据注释吗?我都尝试过

[DisplayName("Customer creation date")]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime Created { get; set; }
Run Code Online (Sandbox Code Playgroud)

[DisplayName("Customer creation date")]
[DataType(DataType.Date)]
public DateTime Created { get; set; }
Run Code Online (Sandbox Code Playgroud)

但单元格内容保持不变。

data-annotations excelpackage epplus

2
推荐指数
1
解决办法
1933
查看次数