Использование строки подключения C # и ADO OLEDB для создания файла Excel. Как сделать строку заголовка в Excel жирным шрифтом? - PullRequest
0 голосов
/ 25 августа 2011

Я установил строку подключения следующим образом: -

"Поставщик = Microsoft.ACE.OLEDB.12.0; Источник данных =" + saveFilenameAndLocation + "; Расширенные свойства = 'Excel 12.0 xml; HDR = Да'"

Я указал, что первая строка является заголовком, и моя электронная таблица Excel создается со строкой заголовка, за которой следуют все строки данных. Тем не менее, я хочу сделать строку заголовка жирным шрифтом, как мне это сделать? Любая помощь приветствуется.

Ответы [ 2 ]

3 голосов
/ 26 августа 2011

Вам необходимо использовать 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;
        }
    }
}
1 голос
/ 25 августа 2011

OLEDB обеспечивает доступ только к данным, а не к форматированию.

Чтобы получить доступ к атрибутам ячеек и т. Д., Вам необходимо использовать Interop (http://msdn.microsoft.com/en-us/library/ms173186%28v=vs.80%29.aspx) или сторонний компонент, такой как Spire.xls (http://www.e -iceblue.com / Int вводить / excel-for) -net-ввод.html , коммерческий) или один из других аналогичных параметров (отметьте Импорт и экспорт в Excel - какая библиотека лучше? ).

...