我正在创建一些使用 CarlosAG ExcelXMLWriter 的方法,我特别想改进这种方法
public void insertaRango(Worksheet sheet, List<object> values, int columnMerge = 0, string styleID = null, DataType dt = DataType.String)
{
WorksheetRow row = sheet.Table.Rows.Add();
WorksheetCell cell;
foreach (var value in values)
{
cell = row.Cells.Add();
cell.Data.Text = value.ToString();
cell.MergeAcross = columnMerge;
cell.StyleID = styleID;
cell.Data.Type = dt;
}
}
它通过一些选项生成一系列数据,主要问题是如果我想写这些数据
//Client Money Date
//------ ----- ----------
//Jhon Doe 1,034.88 2013-02-01
//Chris S. 4,882.12 2013-02-08
//
//TOTAL XXXXXXXX
我无法=SUM
为“Money”列执行功能,因为列表只接受一种类型的数据,如果我将其设置为string
数字,则不会那样使用,如果我使用int
字符串将无法解析......此方法的其余参数存在相同的问题,它不能是每个项目的一个参数...
所以基本上我想做这样的事情,但我迷路了......
Objects {
"Item 1" { // This is the value of the cell.
dt => String,
columnMerge => 0,
styleID => "MyStyle",
},
"Item 2" { // This is the value of the cell.
dt => String,
columnMerge => 3,
styleID => "MyStyle2",
},
"1,034.88" { // This is the value of the cell.
dt => Number,
columnMerge => 0,
styleID => "numberStyle",
}
}
然后,当然,解析方法上的所有内容......
我希望我已经解释了一切,谢谢。 更新
感谢给出的答案,我已将构造函数添加到类中,现在一切正常,谢谢。
public class CellValue
{
public CellValue()
{
ColumnMerge = 0;
StyleID = "Default";
DataType = DataType.String;
Value = null;
}
public int ColumnMerge { get; set; } // Combinación de celdas indice base 0.
public string StyleID { get; set; } // Estilo deseado para la celda (consultar método generarEstilos).
public DataType DataType { get; set; } // Tipo de datos de la celda ()
public object Value { get; set; } // Valor de la celda.
}