110,536
社区成员
发帖
与我相关
我的任务
分享
private void ExportFile()
{
try
{
string filename = "";
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "Excel文件(*.xls)|*.xls|所有文件(*.*)|*.*";
saveFileDialog1.Title = "保存文件";
saveFileDialog1.FileName = this.Text + @".xls";
if ((saveFileDialog1.ShowDialog()) == DialogResult.OK)
{
filename = saveFileDialog1.FileName;
this.ultraGridExcelExporter1.Export(this.ultraGrid1, filename);
System.Diagnostics.ProcessStartInfo st = new System.Diagnostics.ProcessStartInfo(filename);
st.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized;
System.Diagnostics.Process.Start(st);
MessageBox.Show("数据导出成功!!!");
}
else
{
return;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
MessageBox.Show("数据导出出错!!!");
}
finally
{
//ok
}
}
class ExportByDataGridView
{
protected internal ExportByDataGridView(DataGridView DGV,ExcelExport excelExport)
{
this.dgv = DGV;
this.excelExport = excelExport;
}
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int id);
protected internal DataGridView dgv { get; set; }
protected internal ExcelExport excelExport { get; set; }
private object m_objOpt = System.Reflection.Missing.Value;
protected internal ExcelW.Application MyXls { get; set; }
protected internal ExcelW.Workbook workbook { get; set; }
//导出
protected internal void Export()
{
workbook = MyXls.Workbooks.Add(ExcelW.XlWBATemplate.xlWBATWorksheet);
ExcelW.Worksheet outBoxWorkSheet = (ExcelW.Worksheet)workbook.Worksheets[1];
outBoxWorkSheet.Name = "sheet1";
//显示表头
for (int i = 0; i < dgv.ColumnCount; i++)
{
MyXls.Cells[1, i + 1] = dgv.Columns[i].HeaderText;
this.excelExport.Value++;
}
//显示内容
int outBoxCount = dgv.RowCount;
for (int i = 0; i < outBoxCount; i++)
{
//excelApp.Cells[i + 3, 1] = i + 0;
for (int j = 0; j < dgv.ColumnCount; j++)
{
if (dgv[j,i].Value != null)
{
if (dgv[j, i].Value.GetType() == typeof(string))
{
MyXls.Cells[i + 2, j + 1] = "'" + dgv[j, i].Value.ToString();
}
else
{
MyXls.Cells[i + 2, j + 1] = dgv[j,i].Value.ToString();
}
}
this.excelExport.Value++;
}
}
workbook.SaveCopyAs(excelExport.filePath);
if (excelExport.ShowAfterExport)
MyXls.Application.Visible = true;
else
{
try
{
if (MyXls != null)
{
IntPtr t = new IntPtr(MyXls.Hwnd);
int k = 0;
GetWindowThreadProcessId(t, out k);
System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById(k);
p.Kill();
}
}
catch
{
}
}
}
}