使用c#和ADO OLEDB连接字符串创建excel文件.我如何使标题行在excel粗体
本文关键字:excel 何使 标题 粗体 文件 使用 ADO OLEDB 连接 创建 字符串 | 更新日期: 2023-09-27 18:06:43
我设置的连接字符串如下:-
"Provider=Microsoft.ACE.OLEDB.12.0;数据源=" + saveFilenameAndLocation + ";扩展属性=" Excel 12.0 xml;HDR = Yes"
我已经指定第一行是标题,我的excel电子表格是用标题行创建的,后面是所有数据行。然而,我想使我的标题行粗体,我怎么做呢?
您需要使用Office Interop;这是用ADO做不到的。
在解决方案资源管理器中右键单击"引用",然后单击"添加引用",将项目的引用添加到Microsoft.Office.Interop.Excel中。然后选择"Microsoft.Office.Interop.Excel"。
下面是一个非常简单的示例,当您单击用户表单上的按钮时,打开Excel文档并将第一行加粗。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Office.Interop.Excel;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
String filename = "C:''Path''To''Excel''File''file.xls";
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
xlApp.Visible = true;
Workbook xlWkb = xlApp.Workbooks.Open(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
Worksheet xlSh = xlWkb.Sheets[1] as Worksheet;
Range xlRng = xlSh.UsedRange.get_Range("A1", Type.Missing).EntireRow;
xlRng.Font.Bold = true;
xlWkb.Save();
xlApp.Quit();
xlRng = null;
xlSh = null;
xlWkb = null;
xlApp = null;
}
}
}
OLEDB只提供对数据的访问,而不提供格式。
要访问单元格属性等,您需要使用Interop (http://msdn.microsoft.com/en-us/library/ms173186%28v=vs.80%29.aspx)或第三方组件,如Spire.xls (http://www.e-iceblue.com/Introduce/excel-for-net-introduce.html,商业)或其他类似选项之一(检查导入和导出Excel -什么是最好的库?)。