//导出方法
void ExportExcelMethod(object param)
{
if (ObsTB.Count < 1)
{
MessageBox.Show("没有要导出的数据");
return;
}
Excel.Application objApp = new Excel.Application(); //实例化Excle对象
if (objApp == null)
{
MessageBox.Show("无法创建Excel对象,可能计算机未安装Excel!");
return;
} string path = Invoice.Utils.Validation.AppPath();
objApp.Workbooks.Add(path + @"Excel/发票使用情况一览表.xls"); Excel.Sheets objSheets = objApp.Worksheets;//实例化sheet工作表的集合
Excel._Worksheet objSheet;
objSheet = (Excel._Worksheet)objSheets.get_Item(1);//导出sheet1模板
objSheet.Name = "发票使用情况一览表";
objApp.Workbooks[1].SaveCopyAs("D:/ceshi.xls");
objApp.Workbooks[1].BeforeClose += new Excel.WorkbookEvents_BeforeCloseEventHandler(VMFPHeadQuery_BeforeClose);
//设置表头名称
objApp.Cells[1, 1] = "发票使用情况一览表";
//设置数据行的格式边框
objApp.get_Range(objApp.Cells[1, 1], objApp.Cells[obsTB.Count + 3, 19]).Borders.LineStyle = 1;
objApp.get_Range(objApp.Cells[1, 1], objApp.Cells[1, 19]).Interior.ColorIndex = 2;
//设置标题字体大小
objApp.get_Range(objApp.Cells[1, 1], objApp.Cells[1, 19]).Font.Size = 18;
//设置内容字体大小
objApp.get_Range(objApp.Cells[4, 1], objApp.Cells[this.ObsTB.Count + 3, 19]).Font.Size = 10;
objApp.Cells[2, 1] = "生成时间:" + DateTime.Now.Year + "年" + DateTime.Now.Month + "月" + DateTime.Now.Day + "日"; for (int i = 0; i < this.ObsTB.Count; i++)
{
;
objApp.Cells[4 + i, 1] = i + 1;
objApp.Cells[4 + i, 2] = UtilsConverter.GetPJtypNameByPJtyp(ObsTB[i].Pjtype);
objApp.Cells[4 + i, 3] = ObsTB[i].Fptype; objApp.Cells[4 + i, 4] = "'" + ObsTB[i].Fpconde;
objApp.Cells[4 + i, 5] = "'" + ObsTB[i].Fpnum; objApp.Cells[4 + i, 6] = "'" + ObsTB[i].Dhp; objApp.Cells[4 + i, 7] = UtilsConverter.GetKJZTNameBykjzt(ObsTB[i].Status1);
objApp.Cells[4 + i, 8] = "'" + ObsTB[i].Oper1;
objApp.Cells[4 + i, 9] = "'" + ObsTB[i].Gentime1; objApp.Cells[4 + i, 10] = UtilsConverter.GetZFZTNameByzfzt(ObsTB[i].Status2);
objApp.Cells[4 + i, 11] = "'" + ObsTB[i].Oper2;
objApp.Cells[4 + i, 12] = "'" + ObsTB[i].Gentime2; objApp.Cells[4 + i, 13] = UtilsConverter.GetPDZTNameByPdzt(ObsTB[i].Status3);
objApp.Cells[4 + i, 14] = "'" + ObsTB[i].Oper3;
objApp.Cells[4 + i, 15] = "'" + ObsTB[i].Gentime3; objApp.Cells[4 + i, 16] = UtilsConverter.GetHXZTNameByzfzt(ObsTB[i].Status5);
objApp.Cells[4 + i, 17] = "'" + ObsTB[i].Oper5;
objApp.Cells[4 + i, 18] = "'" + ObsTB[i].Gentime5;
objApp.Cells[4 + i, 19] = "'" + ObsTB[i].Bz; }
objApp.Visible = true;
objApp.DisplayAlerts = false;
Print(objApp, objSheet);
GC.Collect();这是我现在的做法但是,1w条数据导出就需要好多时间。求高手怎样才能让他得导出速度快一点。在线等。。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货