读书人

何小弟我出的Excel值列不能加

发布时间: 2012-01-16 23:36:51 作者: rapoo

何我出的Excel值列不能加,好像全成字符一。我excel函如下。大家看看有什有?急。
/*
* 此了函用於把表中的出excel
*/
static public void ExportToExcel(object[] columName, object[] fieldName, System.Data.DataTable dt, string Name)
{
try
{

Excel.Application app = new Excel.Application();
_Workbook wkb = app.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
_Worksheet wks = (_Worksheet)wkb.ActiveSheet;
wks.Name = Name;
wks.Visible = XlSheetVisibility.xlSheetVisible;
Range wksRange;

string[] cellValue = new string[columName.Length];
string[] cellValue1 = new string[columName.Length];

//加位名
for (int i = 0; i <= columName.Length - 1; i++)
cellValue1[i] = columName[i].ToString();
wksRange = wks.get_Range(wks.Cells[1, 1], wks.Cells[1, fieldName.Length]);
#if OFFICEXP
wksRange.set_Value(Missing.Value, cellValue1);
#else
wksRange.Value = cellValue1;
#endif

for (int i = 0; i <= dt.Rows.Count - 1; i++)


{
for (int j = 0; j <= fieldName.Length - 1; j++)
{
//string strValue = " ";
if (dt.Columns[fieldName[j].ToString()].DataType.ToString() == "System.DateTime ")
{
if (dt.Rows[i][fieldName[j].ToString()] != DBNull.Value)
cellValue[j] = Convert.ToDateTime(dt.Rows[i][fieldName[j].ToString()]).ToShortDateString();
else
cellValue[j] = " ";
}
else
cellValue[j] = dt.Rows[i][fieldName[j].ToString()].ToString();
//cellValue[j] = strValue;

}
wksRange = wks.get_Range(wks.Cells[i + 2, 1], wks.Cells[i + 2, fieldName.Length]);
#if OFFICEXP
wksRange.set_Value(Missing.Value, cellValue);


#else
wksRange.Value = cellValue;
#endif
}
wks.Columns.EntireColumn.AutoFit();//自整位的度
app.Visible = true;


}
catch (Exception E)
{

MessageBox.Show(E.Message);

}
}


[解决办法]
没坐到沙发,帮忙顶

读书人网 >C#

热点推荐