Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# Windows Forms

Войти
Регистрация
Восстановить пароль
 
Евгений290588
2 / 2 / 1
Регистрация: 21.11.2010
Сообщений: 143
#1

Как загрузить содержимое файла xlsx с использованием OpenFileDialog в RichTextBox или ListBox - C#/.NET 4.x

22.08.2014, 18:52. Просмотров 905. Ответов 8
Метки нет (Все метки)

Такая проблема.. Не могу найти информацию как загрузить содержимое файла xlsx с использованием OpenFileDialog в RichTextBox или ListBox.
Пытался сам что то сделать но навыков маловато...
Вот что есть с просторов интернета.... но не работает... подскажите как лучше сделать?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using Excel = Microsoft.Office.Interop.Excel;
 
namespace Проект_1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string filexlsx;
            
            openFileDialog1.InitialDirectory = "c:\\";
            openFileDialog1.Filter = "Лист Microsoft Excel|*.xlsx";
            openFileDialog1.FilterIndex = 2;
            openFileDialog1.RestoreDirectory = true;
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                filexlsx = openFileDialog1.FileName;
                textBox1.Text = filexlsx;
                richTextBox1.LoadFile(filexlsx);                             
            }
        }
 
    }
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.08.2014, 18:52
Я подобрал для вас темы с готовыми решениями и ответами на вопрос .NET 4.x Как загрузить содержимое файла xlsx с использованием OpenFileDialog в RichTextBox или ListBox (C#):

Как загрузить содержимое файла в richTextBox? - C#
Для загрузки содержимого файла в richTextBox на кнопку написан вот такой код: private void button7_Click(object sender, EventArgs e)...

Загрузить в RichTextBox содержимое текстового файла - C#
Как мне сделать что бы после того как я нажал открыть то открывался txt файл в richTextBox1? Да и как сделать отображение номера строки как...

Как прописать свое имя файла в OpenFileDialog или оставить пустым - C#
Доброго времени суток! При открытии отображении окна открытия файла в поле ввода файла присутствует ненужное имя файла: openFileDialog1....

Загрузить текст из rtf-файла в RichTextBox - C#
долго не могу здесь ничего не понимаю( умоляю помоги private void listBox2_SelectedIndexChanged(object sender, EventArgs e) ...

Header (шапка) в listbox или richtextbox - C#
Здравствуйте! Подскажите, пожалуйста есть ли возможность в windows forms в listbox или richtextbox создать header (шапку) с...

Добавить содержимое файла (txt) в listBox - C#
Отрывок кода программы: private void button1_Click(object sender, EventArgs e) { OpenFileDialog...

8
fluer
Заблокирован
22.08.2014, 23:06 #2
Microsoft.Office.Interop.Excel
Не стоит использовать эту штуку для таких тривиальных задач, она глючная (хотя в вашем случае проблема именно в коде), и чтобы программа с нею работала, на компе Excel нужен.
Лучше возьмите библиотеку NPOI.

Тут примеры
VB.NET
0
Евгений290588
2 / 2 / 1
Регистрация: 21.11.2010
Сообщений: 143
23.08.2014, 14:08  [ТС] #3
Спасибо за примеры... всё довольно таки сложно без комментариев. В примерах запись в эксель, а мне нужно из экселя в RichTextBox или ListBox...
0
fluer
Заблокирован
23.08.2014, 16:43 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
В примерах запись в эксель
Это чтение, с выводом в MessageBox:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void Form1_Load(object sender, EventArgs e)
        {
            using (xlsFile = new FileStream("Книга1.xls", FileMode.Open, FileAccess.Read))
            {
                hssfwb = new HSSFWorkbook(xlsFile);
            }
 
            sheet1 = hssfwb.GetSheet("Лист1");
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show(sheet1.GetRow(int.Parse(textBox1.Text)).GetCell(int.Parse(textBox2.Text)).StringCellValue);
        }
C#
1
sheet1.GetRow(***номер строки***).GetCell(***номер столбца***).StringCellValue
0
Евгений290588
2 / 2 / 1
Регистрация: 21.11.2010
Сообщений: 143
24.08.2014, 02:03  [ТС] #5
Хорошо попробую разобраться... но у меня ещё есть сложность с openFileDialog...
В данном примере Книга1.xls конкретный файл
C#
1
using (xlsFile = new FileStream("Книга1.xls", FileMode.Open, FileAccess.Read))
А как мне прописать, чтобы там выбирался файл через openFileDialog

Добавлено через 1 час 22 минуты
Попробовал по примеру сделать ... выдаёт ошибку в строке
C#
1
MessageBox.Show(sheet1.GetRow(1).GetCell(1).StringCellValue);
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
 
namespace Проект_1
{
    public partial class Form1 : Form
    {
        FileStream xlsxFile;
        XSSFWorkbook xssfwb;
        ISheet sheet1;
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            using (xlsxFile = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read))
                {
                    xssfwb = new XSSFWorkbook(xlsxFile);
                }
            sheet1 = xssfwb.GetSheet("Лист1");
 
            openFileDialog1.InitialDirectory = "c:\\";
            openFileDialog1.Filter = "Лист Microsoft Excel|*.xlsx";
            openFileDialog1.FilterIndex = 2;
            openFileDialog1.RestoreDirectory = true;
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = openFileDialog1.FileName;
                MessageBox.Show(sheet1.GetRow(1).GetCell(1).StringCellValue);
            }
        }
 
        
        
    }
}
0
rutelun
147 / 73 / 15
Регистрация: 31.05.2014
Сообщений: 215
24.08.2014, 02:06 #6
Евгений290588, скорее всего у вас не заполнена ячейка B2
1
Евгений290588
2 / 2 / 1
Регистрация: 21.11.2010
Сообщений: 143
24.08.2014, 13:35  [ТС] #7
Спасибо за подсказку, но там ячейка заполнена, но записано числовое значение... поменял на буквы и всё заработало... а можете подсказать как сделать чтобы с цифрами тоже работало?
0
rutelun
147 / 73 / 15
Регистрация: 31.05.2014
Сообщений: 215
24.08.2014, 13:36 #8
Евгений290588,
C#
1
sheet1.GetRow(1).GetCell(1).ToString()
1
Евгений290588
2 / 2 / 1
Регистрация: 21.11.2010
Сообщений: 143
24.08.2014, 14:11  [ТС] #9
Благодарю.
Я разобрался как добавить из Excel в ListBox , думаю тему можно закрывать. Всем спасибо.
0
24.08.2014, 14:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.08.2014, 14:11
Привет! Вот еще темы с ответами:

Сохранение тестового файла из richtextbox с использованием savefiledialog - C#
Доброго времени суток. Нужна помощь или объяснение как сохранять текстовый файл(txt) из ричтектсбокса в новый текстовый файл (тоже формат...

Загрузить в ListBox данные из текстового файла при запуске формы - C#
Как сделать так, чтобы после запуска программы в ListBox-е сразу отображались данные, сохраненные в файле 1.txt ???

Как сохранить/загрузить RichTextBox с форматированием? - C#
Добрый день. Собственно, вопрос таков: применяя форматирование в RichTextBox(изменение шрифта, цвета), сохраняю в файл, загружаю, но...

RichTextBox как загрузить данные из коллекции - C#
Как совершить два действия - записать форматированные данные из RichTextBox в ArrayList и достать обратно? первое сделал так ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru