使用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电子表格是用标题行创建的,后面是所有数据行。然而,我想使我的标题行粗体,我怎么做呢?

使用c#和ADO OLEDB连接字符串创建excel文件.我如何使标题行在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 -什么是最好的库?)。