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) ;
}
}
}
}