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);
        }
Example #2
0
        /// <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);
        }