这个是ExcelClass.cs中的一个方法,记录下来
/// <summary>
/// 将DataTable中的数据全部的导入到excel文件中去,导入的顺序是按照DataTable的Column的顺序来决定的
/// </summary>
/// <param name="dt">需要导入数据的DataTable</param>
/// <param name="startCell">导入数据开始的单元格</param>
public void ImportData(System.Data.DataTable dt,string startCell)
{
//利用StringBuilder进行数据的缓冲
StringBuilder strBuffer = new StringBuilder();
//循环数据,把字符串进行缓冲,存放到StringBuilder中
for( int iRow=0; iRow<dt.Rows.Count; iRow++ )
{
for( int iCol=0; iCol<dt.Columns.Count; iCol++ )
{
strBuffer.Append(dt.Rows[iRow][iCol].ToString());
if( iCol < dt.Columns.Count - 1 )
strBuffer.Append("\t");
}
strBuffer.Append( "\n");
}
//先清空剪贴板的内容
Clipboard.SetDataObject("",false);
//往剪贴板中写入内容
Clipboard.SetDataObject(strBuffer.ToString());
//得到excel开始Cell的焦点
Range sRange =GetRange(startCell);
sRange.Select();
//往excel中写数据
exlWorkSheet.Paste(Missing.Value ,Missing.Value);
//清空剪贴板的内容
Clipboard.SetDataObject("",false);
//释放sRange对象
System.Runtime.InteropServices.Marshal.ReleaseComObject(sRange);
sRange=null;
}
/// 将DataTable中的数据全部的导入到excel文件中去,导入的顺序是按照DataTable的Column的顺序来决定的
/// </summary>
/// <param name="dt">需要导入数据的DataTable</param>
/// <param name="startCell">导入数据开始的单元格</param>
public void ImportData(System.Data.DataTable dt,string startCell)
{
//利用StringBuilder进行数据的缓冲
StringBuilder strBuffer = new StringBuilder();
//循环数据,把字符串进行缓冲,存放到StringBuilder中
for( int iRow=0; iRow<dt.Rows.Count; iRow++ )
{
for( int iCol=0; iCol<dt.Columns.Count; iCol++ )
{
strBuffer.Append(dt.Rows[iRow][iCol].ToString());
if( iCol < dt.Columns.Count - 1 )
strBuffer.Append("\t");
}
strBuffer.Append( "\n");
}
//先清空剪贴板的内容
Clipboard.SetDataObject("",false);
//往剪贴板中写入内容
Clipboard.SetDataObject(strBuffer.ToString());
//得到excel开始Cell的焦点
Range sRange =GetRange(startCell);
sRange.Select();
//往excel中写数据
exlWorkSheet.Paste(Missing.Value ,Missing.Value);
//清空剪贴板的内容
Clipboard.SetDataObject("",false);
//释放sRange对象
System.Runtime.InteropServices.Marshal.ReleaseComObject(sRange);
sRange=null;
}
浙公网安备 33010602011771号