public static void BuildData(this ExcelParam param, ColumnInfo columnInfo) { var items = new object[1][]; var offsetNum = 0; var sumLength = 0; foreach (var customItem in columnInfo.CustomItems) { sumLength += customItem.Length; } var tempItems = new string[sumLength - columnInfo.CustomItems.Length]; for (var i = 0; i < columnInfo.CustomItems[0].Length; i++) { for (var j = 0; j < columnInfo.CustomItems[i].Length; j++) { var tempIndex = i * columnInfo.CustomItems[i].Length + j - offsetNum; if (j == columnInfo.SkipIndex) { offsetNum += 1; continue; } tempItems[tempIndex] = columnInfo.CustomItems[i][j]; } } items[0] = columnInfo.BaseItems.Concat(tempItems).ToArray <object>(); param.ToExcel(items); }
/// <summary> /// 加载 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MergeForm_Load(object sender, EventArgs e) { dgvFile1.ClearSelection(); dgvFile2.ClearSelection(); var param3 = new ExcelParam(TEST3, DEF_TEMPLATE_PATH); param3.ToExcel(_spaces); }
private static void BuildTemplate(this ExcelParam param, ColumnInfo columnInfo) { var table = new DataTable(); foreach (var baseColumn in columnInfo.BaseClumns) { table.Columns.Add(baseColumn); } foreach (var dataItem in columnInfo.CustomItems) { foreach (var customColumn in columnInfo.CustomColumns) { table.Columns.Add(dataItem[columnInfo.SkipIndex] + " " + customColumn); } } param.ToExcel(table); }