C#实战023:OleDb操作-Excel数据写入

 时间:2024-10-12 00:28:12

1、我们先来新建一个带表头的空表单,为表单先创建个表头,相当于在mysql先建立些空字段。OleDbCommand cmd = myCon.CreateCommand();//创建工作表命令string sheetName1 = "刀具预估数量";if (tableName.Contains(sheetName1)){ cmd.CommandText = "DROP TABLE 刀具预估数量"; cmd.ExecuteNonQuery();// 执行创建sheet的语句}cmd.CommandText = "CREATE TABLE 刀具预估数量 ([序号] INTEGER, [夹位] VarChar, [刀号] VarChar,[刀具规格] VarChar,[1月] VarChar,[2月] VarChar,[3月] VarChar,[4月] VarChar,[5月] VarChar,[6月] VarChar,[7月] VarChar,[8月] VarChar,[9月] VarChar,[10月] VarChar,[11月] VarChar,[12月] VarChar)";cmd.ExecuteNonQuery();

C#实战023:OleDb操作-Excel数据写入

3、有了对应的行数我们就可以将该表存到内存中去了,这样内存中就有了对应的行和列的一个空表单

C#实战023:OleDb操作-Excel数据写入

5、在我们将数据写入到Excel表中之前,我们最好现将数据写入对应的缓存表中,这样在后面的计算中才能找到我们所需的数据(要想计算的快,最好从缓存中提取数据,而非再次读取Excel)for (int i = 1; i < sheet2Rows; i++){ sheetdata4.Tables[0].Rows[i - 1]["夹位"] = sheetdata2.Tables[0].Rows[i][1].ToString().Trim(); //夹位 sheetdata4.Tables[0].Rows[i - 1]["刀号"] = sheetdata2.Tables[0].Rows[i][2].ToString().Trim();//刀号 sheetdata4.Tables[0].Rows[i - 1]["刀具规格"] = sheetdata2.Tables[0].Rows[i][5].ToString().Trim();//刀具规格 //Console.WriteLine("成功赋值:"+i);}

C#实战023:OleDb操作-Excel数据写入

7、这样我们就需要在对应的列表中写入循环就可以将数据一列列的写入到Excel表中了。由于OleDb操作对Exc髫潋啜缅el的控制性不高,所以要想把表格属性也控制好,这时候我们可以结合Excel组件来帮助我们完成,只要把处理数据这重要的部分交给OleDbl来操作即可//设置表单样式 App = new Excel.Application(); //创建 Excel对象 object missing = Missing.Value; //获取缺少的object类型值 wb = App.Workbooks.Open(ExcelName, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); Excel.Worksheet ws1 = ((Excel.Worksheet)wb.Worksheets["刀具预估数量"]);//方法一:指定工作表名称读取 Excel.Worksheet ws2 = ((Excel.Worksheet)wb.Worksheets["Forecast"]);//方法一:指定工作表名称读取 ws1.get_Range("A1", "P1").Interior.ColorIndex = 14;//填充背景色 ws1.get_Range("A1", "P1").Borders.LineStyle = 1;//设置表格的线宽 ws2.get_Range("A1", "P1").Interior.ColorIndex = 14;//填充背景色 ws2.get_Range("A1", "P1").Borders.LineStyle = 1;//设置表格的线宽 ws1.get_Range("A1").ColumnWidth = 5; //固定宽度 ws1.get_Range("B1").ColumnWidth = 10; ws1.get_Range("C1").ColumnWidth = 10; ws1.get_Range("D1").ColumnWidth = 15; ws2.get_Range("A1").ColumnWidth = 5; //固定宽度 ws2.get_Range("B1").ColumnWidth = 25; ws2.get_Range("C1").ColumnWidth = 15; wb.Save(); App.Visible = true;

C#实战023:OleDb操作-Excel数据写入
  • weblogic被管节点启动报错transport error 202
  • SQL Server如何设置处理器
  • Win10是用什么语言开发的,如何查看Win10源码
  • editplus文本替换方法
  • IE浏览器cookie信息在哪看
  • 热门搜索
    香港旅游公司 厦门市工商旅游学校 我国旅游业发展现状 湘西凤凰旅游 天津旅游景点介绍 威海旅游网 安康旅游局 拉斯维加斯旅游景点 厦门旅游局 乡村旅游攻略