C#实现向已存在的Excel文件中写入数据实例(两种方法)
来源:互联网 发布:淘宝彩票网合法的吗 编辑:程序博客网 时间:2024/06/05 16:15
//添加引用
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection;
方法一:将识别结果写入到Excel表格中(根据指定模版写入,并将其以当前保存时间命名另存)
/******************** WriteValuetoExcel added by cxj 2015.8.10 **************/
//1.创建一个Excel 应用程序
Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application(); //app = null ,则代表服务器上“服务器上缺少Excel组件,需要安装Office软件”;
//设置app属性,及其进行如下操作
app.Visible = false;
app.UserControl = true;
Microsoft.Office.Interop.Excel.Workbooks workbooks = app.Workbooks;
Microsoft.Office.Interop.Excel._Workbook workbook = workbooks.Add(@"E:\PassData\Template.xlsx"); //加载模板
Microsoft.Office.Interop.Excel.Sheets sheets = workbook.Sheets;
Microsoft.Office.Interop.Excel._Worksheet worksheet = (Microsoft.Office.Interop.Excel._Worksheet)sheets.get_Item(1); //第一个工作薄。
if (worksheet == null)
return; //工作薄中没有工作表.
//2.根据获得的数据,进行数据的插入(到Excel模板中)
int row_ = 4; //Excel模板上表头和标题行占了3行,根据实际模板需要修改;
worksheet.Cells[row_, 10] = total.ToString(); //J4 车辆数
worksheet.Cells[row_, 13] = invalid.ToString(); //M4 无效
worksheet.Cells[row_, 14] = wrongCH.ToString(); //N4 汉字错
worksheet.Cells[row_, 15] = wrongEN.ToString(); //O4 字符错
worksheet.Cells[row_, 16] = wrongNU.ToString(); //P4 数字错
worksheet.Cells[row_, 17] = wrongCL.ToString(); //Q4 不识别
worksheet.Cells[row_, 20] = wrong.ToString(); //T4 错误
worksheet.Cells[row_, 21] = right.ToString(); //U4 正确
//3.对已导出好的Excel报表进行保存到指定路径下,以便进行查看。
//Missing 在System.Reflection命名空间下。
string savaPath = @"E:\PassData\" + DateTime.Now.ToString("yyyy_MM_dd_HHmmss") + ".xlsx";
workbook.SaveAs(savaPath, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
MessageBox.Show(summary, "提示", MessageBoxButtons.OK);
//4.关闭Excel对象
workbook.Close(Missing.Value, Missing.Value, Missing.Value);
app.Quit();
//**********************************************************/
方法二:将识别结果写入到Excel表格中(在指定模版上直接写入)
//1.创建Applicaton对象
Excel.Application xApp = new Excel.Application();
xApp.Visible = true;
//2.得到workbook对象,可以用两种方式之一:下面是打开已有的文件
//Excel.Workbook xBook = xApp.Workbooks.Open(@"E:\5_调试软件\ThinkCamWorkstation\PassData\192.168.116.248\2015-08-06\18\result.xlsx",
Excel.Workbook xBook = xApp.Workbooks.Open(path + "\\result.xlsx",
Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value);
//3.指定要操作的Sheet
Excel.Worksheet xSheet = (Excel.Worksheet)xBook.Sheets[1];
//4.写入数据
Excel.Range carAmount = xSheet.get_Range("J4", Missing.Value);
carAmount.Value2 = total;
carAmount.Interior.ColorIndex = 3; //设备Range的背景色
Excel.Range invalid_license_plate = xSheet.get_Range("M4", Missing.Value);
invalid_license_plate.Value2 = invalid;
invalid_license_plate.Interior.ColorIndex = 3; //设备Range的背景色
Excel.Range chinese_character_wrong = xSheet.get_Range("N4", Missing.Value);
chinese_character_wrong.Value2 = wrongCH;
chinese_character_wrong.Interior.ColorIndex = 3; //设备Range的背景色
Excel.Range letter_wrong = xSheet.get_Range("O4", Missing.Value);
letter_wrong.Value2 = wrongEN;
letter_wrong.Interior.ColorIndex = 3; //设备Range的背景色
Excel.Range number_wrong = xSheet.get_Range("P4", Missing.Value);
number_wrong.Value2 = wrongNU;
number_wrong.Interior.ColorIndex = 3; //设备Range的背景色
Excel.Range recognition_wrong = xSheet.get_Range("Q4", Missing.Value);
recognition_wrong.Value2 = wrongCL;
recognition_wrong.Interior.ColorIndex = 3; //设备Range的背景色
Excel.Range wrong_amount = xSheet.get_Range("T4", Missing.Value);
wrong_amount.Value2 = wrong;
wrong_amount.Interior.ColorIndex = 3; //设备Range的背景色
Excel.Range right_amount = xSheet.get_Range("U4", Missing.Value);
right_amount.Value2 = right;
right_amount.Interior.ColorIndex = 3; //设备Range的背景色
//5.保存保存WorkBook
xBook.Save();
//6.从内存中关闭Excel对象
xSheet = null;
xBook = null;
xApp.Quit(); //这一句非常重要,否则Excel对象不能从内存中退出
xApp = null;
MessageBox.Show(summary, "提示", MessageBoxButtons.OK);
- C#实现向已存在的Excel文件中写入数据实例(两种方法)
- 向存在的文件中写入数据
- C#向excel中写入数据的三种方式
- c# 向已存在的excel中追加数据,oledb的方式
- python写入已存在的excel数据
- java 向已存在的excel中追加数据
- java 向已存在的excel中追加数据 .
- C#读取EXCEL 文件同时向文件中写入数据和Excel的Range对象
- Avro 向已存在的文件中append数据
- c# 向Excel文件写入数据(Workbook 和Worksheet )
- 简单的实现向excel单元格中写入数据
- 两种方法将数据写入excel文件
- 用C#将数据写入到Excel文件的方法
- C# 把DataTable数据写入Excel文件的方法
- VS2010中使用C#实现向EXCEL文档中写入数据
- 三种向文件写入CString数据的方法
- java向EXCEL文件中写入数据使用jxljar包
- C#向excel的指令表单sheet指定行列中写入数据
- Eclipse Java注释模板设置详解
- 图形表达程序框架
- 交叉编译 x264
- BASH练习第四课
- spring(基础九) spring mvc 工作原理
- C#实现向已存在的Excel文件中写入数据实例(两种方法)
- 无法执行添加/移动操作,因为代码元素CConfigDlg是只读的
- 面向对象概述+类与对象的关系-第8天
- Xcode7下面用Unity3D的一些尴尬问题.
- HDU_1730 Northcott Game(博弈)
- POJ 3687 Labeling Balls(拓扑排序)
- kd树修改:BBF简析
- JAVA的StringBuffer类
- hdu 1548 A strange lift(bfs)