Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Евгений290588
2 / 2 / 0
Регистрация: 21.11.2010
Сообщений: 143
1

Как загрузить содержимое файла xlsx с использованием OpenFileDialog в RichTextBox или ListBox

22.08.2014, 18:52. Просмотров 953. Ответов 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
Ответы с готовыми решениями:

Как загрузить содержимое файла в richTextBox?
Для загрузки содержимого файла в richTextBox на кнопку написан вот такой код: private void...

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

Как загрузить определённый текст из файла в richTextBox?
Помогите! Нужно чтобы при выборе какого-либо компонента в listBox из файла загружался определённый...

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

Загрузить текст из rtf-файла в RichTextBox
долго не могу здесь ничего не понимаю( умоляю помоги private void...

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

Тут примеры
VB.NET
0
Евгений290588
2 / 2 / 0
Регистрация: 21.11.2010
Сообщений: 143
23.08.2014, 14:08  [ТС] 3
Спасибо за примеры... всё довольно таки сложно без комментариев. В примерах запись в эксель, а мне нужно из экселя в RichTextBox или ListBox...
0
fluer
Заблокирован
23.08.2014, 16:43 4
Лучший ответ Сообщение было отмечено Евгений290588 как решение

Решение

В примерах запись в эксель
Это чтение, с выводом в 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 / 0
Регистрация: 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 / 17
Регистрация: 31.05.2014
Сообщений: 215
24.08.2014, 02:06 6
Евгений290588, скорее всего у вас не заполнена ячейка B2
1
Евгений290588
2 / 2 / 0
Регистрация: 21.11.2010
Сообщений: 143
24.08.2014, 13:35  [ТС] 7
Спасибо за подсказку, но там ячейка заполнена, но записано числовое значение... поменял на буквы и всё заработало... а можете подсказать как сделать чтобы с цифрами тоже работало?
0
rutelun
147 / 73 / 17
Регистрация: 31.05.2014
Сообщений: 215
24.08.2014, 13:36 8
Евгений290588,
C#
1
sheet1.GetRow(1).GetCell(1).ToString()
1
Евгений290588
2 / 2 / 0
Регистрация: 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

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

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

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


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

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

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