Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将除第一张图纸外的所有图纸的第一列设置为日期_C#_Epplus - Fatal编程技术网

C# 将除第一张图纸外的所有图纸的第一列设置为日期

C# 将除第一张图纸外的所有图纸的第一列设置为日期,c#,epplus,C#,Epplus,我的代码生成了7张工作表,我将其放入Excel工作簿中。我要做的是将第一列设置为除第一列之外的所有工作表的日期。下面是我一直在尝试的,但它似乎不起作用。显示的日期是一些随机数,如43349 for (var i = 0; i < ds.Tables.Count; i++) { var sheetName = i < sheetNames.Count ? sheetNames[i] : Strin

我的代码生成了7张工作表,我将其放入Excel工作簿中。我要做的是将第一列设置为除第一列之外的所有工作表的日期。下面是我一直在尝试的,但它似乎不起作用。显示的日期是一些随机数,如43349

 for (var i = 0; i < ds.Tables.Count; i++)
        {
            var sheetName = i < sheetNames.Count
            ? sheetNames[i]
            : String.Format("Sheet{0}", sheetNames.Count - i);
            var ws = package.Workbook.Worksheets.Add(sheetName);

            ws.Cells["A1"]
                .LoadFromDataTable(i == 0 ? Transpose(ds.Tables[i].Copy()).DefaultView.ToTable() : ds.Tables[i],
                    true, TableStyles.Medium1);
            ws.Column(1).Style.Numberformat.Format = "yyyy-mm-dd";
            ws.Column(1).Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
            ws.Cells[ws.Dimension.Address].AutoFitColumns();
            ws.Cells["A:H"].Style.Numberformat.Format = "#,##0";

        }
for(var i=0;i
只需添加“if”语句即可。如果i>0,则设置日期:

for (var i = 0; i < ds.Tables.Count; i++)
        {
            var sheetName = i < sheetNames.Count
               ? sheetNames[i]
               : String.Format("Sheet{0}", sheetNames.Count - i);
            var ws = package.Workbook.Worksheets.Add(sheetName);

            ws.Cells["A1"].LoadFromDataTable(i == 0 
                     ? Transpose(ds.Tables[i].Copy()).DefaultView.ToTable()
                     : ds.Tables[i],true, TableStyles.Medium1);
            if (i > 0)
            {
                 ws.Cells["A:H"] = "yyyy-mm-dd";
                 ws.Column(1).Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
            }
            ws.Cells[ws.Dimension.Address].AutoFitColumns();

        }
for(var i=0;i0)
{
ws.Cells[“A:H”]=“yyyy-mm-dd”;
ws.Column(1).Style.HorizontalAlignment=OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
}
ws.Cells[ws.Dimension.Address].AutoFitColumns();
}
只需添加“if”语句即可。如果i>0,则设置日期:

for (var i = 0; i < ds.Tables.Count; i++)
        {
            var sheetName = i < sheetNames.Count
               ? sheetNames[i]
               : String.Format("Sheet{0}", sheetNames.Count - i);
            var ws = package.Workbook.Worksheets.Add(sheetName);

            ws.Cells["A1"].LoadFromDataTable(i == 0 
                     ? Transpose(ds.Tables[i].Copy()).DefaultView.ToTable()
                     : ds.Tables[i],true, TableStyles.Medium1);
            if (i > 0)
            {
                 ws.Cells["A:H"] = "yyyy-mm-dd";
                 ws.Column(1).Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
            }
            ws.Cells[ws.Dimension.Address].AutoFitColumns();

        }
for(var i=0;i0)
{
ws.Cells[“A:H”]=“yyyy-mm-dd”;
ws.Column(1).Style.HorizontalAlignment=OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
}
ws.Cells[ws.Dimension.Address].AutoFitColumns();
}

我删除了Numberformat的最后一行,并将其放在if()之前,这样做有效。结果是,它正在应用日期,但最后一行用于将日期转换回数字格式

 for (var i = 0; i < ds.Tables.Count; i++)
    {
        var sheetName = i < sheetNames.Count
           ? sheetNames[i]
           : String.Format("Sheet{0}", sheetNames.Count - i);
        var ws = package.Workbook.Worksheets.Add(sheetName);

        ws.Cells["A1"].LoadFromDataTable(i == 0 
                 ? Transpose(ds.Tables[i].Copy()).DefaultView.ToTable()
                 : ds.Tables[i],true, TableStyles.Medium1);
        ws.Cells["A:H"].Style.Numberformat.Format = "#,##0";
        if (i > 0)
        {
             ws.Cells[1,10] = "yyyy-mm-dd";
             ws.Column(1).Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
        }
        ws.Cells[ws.Dimension.Address].AutoFitColumns();


    }
for(var i=0;i0)
{
ws.Cells[1,10]=“yyyy-mm-dd”;
ws.Column(1).Style.HorizontalAlignment=OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
}
ws.Cells[ws.Dimension.Address].AutoFitColumns();
}

我删除了Numberformat的最后一行,并将其放在if()之前,这样做有效。结果是,它正在应用日期,但最后一行用于将日期转换回数字格式

 for (var i = 0; i < ds.Tables.Count; i++)
    {
        var sheetName = i < sheetNames.Count
           ? sheetNames[i]
           : String.Format("Sheet{0}", sheetNames.Count - i);
        var ws = package.Workbook.Worksheets.Add(sheetName);

        ws.Cells["A1"].LoadFromDataTable(i == 0 
                 ? Transpose(ds.Tables[i].Copy()).DefaultView.ToTable()
                 : ds.Tables[i],true, TableStyles.Medium1);
        ws.Cells["A:H"].Style.Numberformat.Format = "#,##0";
        if (i > 0)
        {
             ws.Cells[1,10] = "yyyy-mm-dd";
             ws.Column(1).Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
        }
        ws.Cells[ws.Dimension.Address].AutoFitColumns();


    }
for(var i=0;i0)
{
ws.Cells[1,10]=“yyyy-mm-dd”;
ws.Column(1).Style.HorizontalAlignment=OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
}
ws.Cells[ws.Dimension.Address].AutoFitColumns();
}

尝试使用if,但仍然无效。它不断生成数字格式。类似于43349,您是否绑定了此选项:ws.Cells[1,10].Style.Numberformat.Format=“yyy-mm-dd”?好吧,我知道了。我删除了Numberformat的最后一行,并将其放在if()之前,这样做有效。结果是,它正在应用日期,但最后一行用于将日期转换回数字格式。尝试使用if,仍然无效。它不断生成数字格式。类似于43349,您是否绑定了此选项:ws.Cells[1,10].Style.Numberformat.Format=“yyy-mm-dd”?好吧,我知道了。我删除了Numberformat的最后一行,并将其放在if()之前,这样做有效。结果是,它正在应用日期,但最后一行用于将日期转换回数字格式。