我使用这个包: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)
但我不确定它是如何工作的,我找不到它的教程.请帮忙.
如何设置使用ExcelPackage创建的Excel单元格的货币格式?
worksheet.Cell(i, 7).Value = item.Price.ToString();
Run Code Online (Sandbox Code Playgroud) 我想填写一个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
我想用excel包编写excel文件 System.Data.DataTable
并需要格式化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表创建时没有写入单元格值。我们如何添加它。
我正在尝试构建一个数据导入工具,它接受来自用户的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"有什么意义?任何有关这方面的见解将不胜感激......
谢谢
我正在使用 EPPlus 4.1.0.0,我想将 Excel 工作表转换为数据表。
Excel 文件末尾有几个空行。
因此,在转换它时,我还将空行放入数据表中。
在将其转换为数据表之前如何删除空行?
我想用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) 我正在寻找一种方法来创建,修改,读取的.xlsx在C#中的文件,而无需安装Excel或给予用户下载之前在服务器上创建文件.
我发现NPOI http://npoi.codeplex.com/看起来不错但支持.xls而不是.xlsx
我找到了ExcelPackage http://excelpackage.codeplex.com/,它看起来很棒,但是在将文件发送给用户之前,还有额外的开销在服务器上创建文件.有没有人知道这方面的方法?
我找到了EPPlus http://epplus.codeplex.com,但我不确定这是否需要在服务器上创建文件才能发送给用户?
我对此非常陌生,所以任何指导/示例等都会非常感激.
我正在使用 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)
但单元格内容保持不变。