Поиск кода в файле Excel без установленного Excel - PullRequest
0 голосов
/ 18 июня 2019

Я создал приложение C #, которое ищет код, введенный пользователем в файл Excel, а затем отображает некоторое описание, соответствующее коду.

Файл Excel имеет 2 столбца. Первый - это код, первый - описание. * например 1003 *

code  description
1     hello
2     this is
3     a test

Итак, если пользователь введет 3. Он вернется с «тестом»

Я использую Microsoft.Office.Interop.Excel;

Однако до меня дошло, что это будет работать, только если на вашем компьютере установлен Excel. Мне нужно что-то, что не требует, чтобы у вас был установлен Excel на вашем компьютере.

Код, который у меня есть для моей текущей программы.

using Excel = Microsoft.Office.Interop.Excel;

namespace Excel_Finder
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            label3.Text = "Searching For Code!";
            label3.Visible = true;
            Excel.Application xlApp = new Excel.Application();
            string path = textBox3.Text;
            Excel.Workbook workBook = xlApp.Workbooks.Open(path);
            Excel.Worksheet workSheet = workBook.Worksheets["Sheet1"];
            Excel.Range range = workSheet.Columns[1];//Range of Column A
            Excel.Range findRange;
            string strToFind = textBox1.Text;
            string description;
            findRange = range.Find(strToFind);
            if (findRange is null)
            {
                label3.Text = "Code " + textBox1.Text + " Does not Exist!";               
            }
            else
            {
                description = workSheet.Cells[findRange.Row, 2].VALUE;
                textBox2.Text = description;                             
            }
        }
    }
}

Этот код работает должным образом, но, как я уже сказал, он не работает, если у меня не установлено приложение Excel. Я нашел несколько других библиотек, для которых не требуется устанавливать Excel, но я не уверен, как их использовать, чтобы сделать то же самое. Если кто-то может привести пример, который был бы хорош для любой библиотеки.

Заранее спасибо.

1 Ответ

0 голосов
/ 18 июня 2019

Существует множество библиотек Excel на C #, наиболее используемой, быстрой и простой является EPPLUS.

Вот пример чтения файла (источник: https://github.com/JanKallman/EPPlus/wiki/Getting-Started)

//Open the workbook (or create it if it doesn't exist)
    var fi=new FileInfo(@"c:\workbooks\myworkbook.xlsx")
    using (var p = new ExcelPackage(fi))
        {
           //Get the Worksheet created in the previous codesample. 
           var ws=p.Workbook.Worksheets["MySheet"];
           Set the cell value using row and column.
           ws.Cells[2, 1].Value = "This is cell A2. It is set to bolds";
           //The style object is used to access most cells formatting and styles.
           ws.Cells[2, 1].Style.Font.Bold=true;
           //Save and close the package.
           p.Save();
       }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...