using System
;
using System
.Collections
.Generic
;
using System .Windows .Forms ;
using System .Text ;
using System .Diagnostics ;
using System .IO ;
using Microsoft .Office .Interop .Excel ;
namespace SalesListDownload
{
public class Export
{
public static void ExportExcel(string fileName, DataGridView myDGV)
{
if (myDGV .Rows .Count > 0 )
{
Microsoft .Office .Interop .Excel .Application xlApp = new Microsoft .Office .Interop .Excel .Application () ;
if (xlApp == null)
{
MessageBox .Show ( "无法创建Excel对象,可能您的机子未安装Excel" ) ;
return ;
}
Microsoft .Office .Interop .Excel .Workbooks workbooks = xlApp .Workbooks ;
Microsoft .Office .Interop .Excel .Workbook workbook = workbooks .Add (Microsoft .Office .Interop .Excel .XlWBATemplate .xlWBATWorksheet ) ;
Microsoft .Office .Interop .Excel .Worksheet worksheet = (Microsoft .Office .Interop .Excel .Worksheet )workbook .Worksheets [ 1 ] ;//取得sheet1
//写入标题
for (int i = 0 ; i < myDGV.ColumnCount; i++)
{
worksheet .Cells [ 1 , i + 1 ] = myDGV .Columns [i] .HeaderText ;
}
for (int i = 1 ; i <= myDGV.ColumnCount; ++i)
{
Microsoft .Office .Interop .Excel .Range setrange = worksheet .get _Range(worksheet .Cells [ 1 , i], worksheet .Cells [myDGV .RowCount , i]) ;
setrange .NumberFormatLocal = "@" ;//设置数字文本格式
}
//写入数值
for (int r = 0 ; r < myDGV.Rows.Count; r++)
{
for (int i = 0 ; i < myDGV.ColumnCount; i++)
{
worksheet .Cells [r + 2 , i + 1 ] = myDGV .Rows [r] .Cells [i] .Value ;
}
System .Windows .Forms .Application .DoEvents () ;
}
worksheet .Columns .EntireColumn .AutoFit () ;//列宽自适应
//if (Microsoft .Office .Interop .cmbxType .Text != "Notification" )
//{
// Excel .Range rg = worksheet .get _Range(worksheet .Cells [ 2 , 2 ], worksheet .Cells [ds .Tables [ 0 ] .Rows .Count + 1 , 2 ]) ;
// rg .NumberFormat = "00000000" ;
//}
string saveFileName = fileName ;
if (saveFileName != "" )
{
try
{
workbook .Saved = true ;
workbook .SaveCopyAs (saveFileName) ;
//fileSaved = true ;
}
catch (Exception ex)
{
//fileSaved = false ;
MessageBox .Show ( "导出文件时出错,文件可能正被打开!\n" + ex .Message ) ;
}
}
//else
//{
// fileSaved = false ;
//}
xlApp .Quit () ;
GC .Collect () ;//强行销毁
// if (fileSaved && System .IO .File .Exists (saveFileName)) System .Diagnostics .Process .Start (saveFileName) ; //打开EXCEL
MessageBox .Show (fileName + "的简明资料保存成功" , "提示" , MessageBoxButtons .OK ) ;
}
else
{
MessageBox .Show ( "报表为空,无表格需要导出" , "提示" , MessageBoxButtons .OK ) ;
}
}
}
}
using System .Windows .Forms ;
using System .Text ;
using System .Diagnostics ;
using System .IO ;
using Microsoft .Office .Interop .Excel ;
namespace SalesListDownload
{
public class Export
{
public static void ExportExcel(string fileName, DataGridView myDGV)
{
if (myDGV .Rows .Count > 0 )
{
Microsoft .Office .Interop .Excel .Application xlApp = new Microsoft .Office .Interop .Excel .Application () ;
if (xlApp == null)
{
MessageBox .Show ( "无法创建Excel对象,可能您的机子未安装Excel" ) ;
return ;
}
Microsoft .Office .Interop .Excel .Workbooks workbooks = xlApp .Workbooks ;
Microsoft .Office .Interop .Excel .Workbook workbook = workbooks .Add (Microsoft .Office .Interop .Excel .XlWBATemplate .xlWBATWorksheet ) ;
Microsoft .Office .Interop .Excel .Worksheet worksheet = (Microsoft .Office .Interop .Excel .Worksheet )workbook .Worksheets [ 1 ] ;//取得sheet1
//写入标题
for (int i = 0 ; i < myDGV.ColumnCount; i++)
{
worksheet .Cells [ 1 , i + 1 ] = myDGV .Columns [i] .HeaderText ;
}
for (int i = 1 ; i <= myDGV.ColumnCount; ++i)
{
Microsoft .Office .Interop .Excel .Range setrange = worksheet .get _Range(worksheet .Cells [ 1 , i], worksheet .Cells [myDGV .RowCount , i]) ;
setrange .NumberFormatLocal = "@" ;//设置数字文本格式
}
//写入数值
for (int r = 0 ; r < myDGV.Rows.Count; r++)
{
for (int i = 0 ; i < myDGV.ColumnCount; i++)
{
worksheet .Cells [r + 2 , i + 1 ] = myDGV .Rows [r] .Cells [i] .Value ;
}
System .Windows .Forms .Application .DoEvents () ;
}
worksheet .Columns .EntireColumn .AutoFit () ;//列宽自适应
//if (Microsoft .Office .Interop .cmbxType .Text != "Notification" )
//{
// Excel .Range rg = worksheet .get _Range(worksheet .Cells [ 2 , 2 ], worksheet .Cells [ds .Tables [ 0 ] .Rows .Count + 1 , 2 ]) ;
// rg .NumberFormat = "00000000" ;
//}
string saveFileName = fileName ;
if (saveFileName != "" )
{
try
{
workbook .Saved = true ;
workbook .SaveCopyAs (saveFileName) ;
//fileSaved = true ;
}
catch (Exception ex)
{
//fileSaved = false ;
MessageBox .Show ( "导出文件时出错,文件可能正被打开!\n" + ex .Message ) ;
}
}
//else
//{
// fileSaved = false ;
//}
xlApp .Quit () ;
GC .Collect () ;//强行销毁
// if (fileSaved && System .IO .File .Exists (saveFileName)) System .Diagnostics .Process .Start (saveFileName) ; //打开EXCEL
MessageBox .Show (fileName + "的简明资料保存成功" , "提示" , MessageBoxButtons .OK ) ;
}
else
{
MessageBox .Show ( "报表为空,无表格需要导出" , "提示" , MessageBoxButtons .OK ) ;
}
}
}
}