Встройте лист Excel в пользовательский элемент управления C#

Вы можете использовать reorder здесь

ggplot(df, aes(y = reorder(sim, good_pilots), x = part)) +
  ...

enter image description here

5
задан 16 April 2009 в 16:47
поделиться

3 ответа

Я бы открыл электронную таблицу в COM-библиотеке Excel. Если вы добавите ссылку на объектную библиотеку Microsoft Excel, вы сможете получить доступ к интерфейсу Com.

Добавьте их, используя операторы:

using Microsoft.Office.Interop;
using Microsoft.Office.Interop.Excel;

Затем вы можете читать из таблицы, выполнив что-то вроде этого:

   private void GetData(string fileName, string tabName)
    {
        Workbook theWorkbook;

        Application ExcelObj = null;
        ExcelObj = new Application();

        theWorkbook = ExcelObj.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);


        Sheets sheets = theWorkbook.Worksheets;
        Worksheet worksheet = (Worksheet)sheets[tabName];

        Range range = worksheet.get_Range("A1:A1", Type.Missing);

        string data = range.Text as string;

        //
        // TODO : store the data
        //

        theWorkbook.Close(false, fileName, null);
    }

Этот код будет читать содержимое ячейки А1 в строку.

Одна из особенностей работы с COM-интерфейсом Excel заключается в том, что вам необходим доступ к данным в диапазоне, даже если вам нужна только одна ячейка. Вы можете установить диапазон как группу ячеек, затем вы можете перебрать коллекцию, которую он возвращает, чтобы получить содержимое каждой ячейки.

Вы также хотели бы добавить некоторую проверку / обработку ошибок для имени файла и вкладки. name.

Существует также способ использовать ODBC для чтения из Excel, но электронная таблица должна быть отформатирована определенным образом. В строке 1 должны быть данные заголовка. Мне было проще использовать интерфейс COM.

Как только вы получили необходимые данные, вы можете поместить их в типизированный DataSet. Затем вы можете привязать этот набор данных к DataGridView, если вы используете WinForms или ListBox в WPF. Если вы просто хотите сохранить данные в формате XML, вы можете использовать функцию DataSet WriteXml для сохранения данных в файл.

6
ответ дан 13 December 2019 в 19:35
поделиться

Почему бы не использовать DataGridView , заполненный данными, которые вы хотите изменить?

Однажды любые изменения завершены, сохраните данные из DataGridView в той части файла Excel, из которой вы их извлекли.

Вы также можете найти эти ссылки полезными !

5
ответ дан 13 December 2019 в 19:35
поделиться

Просмотрите библиотеку Microsoft.Office.Interop.Excel. Там есть много элементов управления Excel для работы с файлами Excel и операциями.

0
ответ дан 13 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: