public static bool ConvertDataToExcel<T>(T[][] data, string xlsSaveFileName)请大家帮忙解释一下这个语句的具体含义。<T> 是啥意义?
T[][] data 本意是要传递进来一个二维数组,为什么不写成 string[,] data 的形式呢?急求解!
谢谢大家了!
T[][] data 本意是要传递进来一个二维数组,为什么不写成 string[,] data 的形式呢?急求解!
谢谢大家了!
人家那样写说明它的数据类型可以更改
请问如果要调用这个方法,应该用什么语句?
我写的是 if (z >= z_caster ) ConvertDataToExcel<T>; 结果报错
if (ConvertDataToExcel<T>()) ; 也报错。其实我写这个方法的本意是判断if (z >= z_caster ) ,如果条件满足,就把调用这个方法把数组T[][]写入到excel里。请指教
。谢谢大家了
//public static声明一个公开的,静态方法
//bool这个方法返回值为true或者false
//ConvertDataToExcel<T>将数据转换到excel并且用泛型控制了数据的基本类型
//(T[][] data, string xlsSaveFileName)
//两个参数,第一个,要转换的数据,第二个excel文件名称
public static bool ConvertDataToExcel<T>(T[][] data, string xlsSaveFileName)
{}
public void ConvertDataToExcel<T>(T[][] data, string xlsSaveFileName)
{
//在做这些前,将Excel添加到引用中来!!!
Excel.Application excel = new Excel.Application();
if (excel == null)
{
MessageBox.Show("没有数据可供保存 ", "提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
Excel.Workbook xlBook = excel.Workbooks.Add(true);
Excel.Worksheet xlSheet = (Excel.Worksheet)xlBook.Worksheets[1];
int rows = data.GetLength(0);//行
//int cols = data.GetLength(1);//列 //导入数据
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < data[i].Length; j++)
{
if (data[i][j] != null)
{
excel.Cells[i + 1, j + 1] = data[i][j].ToString().Trim();
}
}
}
try
{
xlBook.Saved = true;
xlBook.SaveCopyAs(xlsSaveFileName);
}
catch(Exception error)
{
MessageBox.Show(error.Message, "警告 ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
finally
{
excel.Quit();
excel = null;
GC.Collect();
}
}
}代码是这样的,这个方法被调用时是这么写的
if (z >= z_caster) ConvertDataToExcel(T[i,j] , whole);
但是报错,请大家指教一下我这是哪里写错了