例: A、B、C が列で、1、2、3 がシートの行であるとします。列 1、2、3 の場合、スプレッドシート ギア ABC 1 2 3 を使用して、単一の行として表示をマージする必要があります。
1060 次
2 に答える
1
ヘッダーを動的に生成することについて、あなたが何を意味するのかわかりません。あなたのデータのソースは何ですか?列または行をマージするには、IRangeクラスのMergeメソッドを使用できます。
workbookView1.ActiveWorksheet.Cells["A1:A3"].Merge()
1つのセルにマージすると、左上のほとんどのデータのみが保持されます。
于 2012-01-03T19:22:13.237 に答える
0
できることは、リフレクションを使用して Enumerable 型を送信し、それを DataTable に変換することです。
private static DataTable ConvertToDataTable(IEnumerable<T> enumerable)
{
var properties = TypeDescriptor.GetProperties(typeof(T));
var table = new DataTable();
foreach (PropertyDescriptor prop in properties)
table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);
foreach (var item in enumerable)
{
var row = table.NewRow();
foreach (PropertyDescriptor prop in properties)
row[prop.Name] = prop.GetValue(item) ?? DBNull.Value;
table.Rows.Add(row);
}
return table;
}
その後、スプレッドシートのギアに任せてください。それをメモリ ストリームに変換してから、byte[] に変換します。
byte[] を FileContentResult に渡します
于 2016-03-25T07:21:06.113 に答える