Как назвать конкретную ячейку в Excel с помощью C Sharp? - PullRequest
0 голосов
/ 14 ноября 2018

enter image description here

У меня есть таблица Excel с горизонтальным столбцом от 1 до 20 и вертикальным столбцом от 1 до 20. Кроме того, есть слово (строка) вкаждая клеткаИтак, я перенесу таблицу в MySQL и подключу ее к диезу.Там будет два текстовых поля и кнопка.Если я напишу определенное число в каждом текстовом поле, я получу конкретную ячейку со строкой.Но для начала, как я могу назвать конкретную ячейку?И там два параметра (два текстовых поля).

string query = "SELECT* FROM tb_patient_information ";
    if (this.OpenConnection() == true)
    { //Create Command
        MySqlCommand cmd = new MySqlCommand(query, connection);
        //Create a data reader and Execute the command
        MySqlDataReader dataReader = cmd.ExecuteReader();
        while (dataReader.Read())
        { ... }

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Я не уверен, что это направление, в котором вы хотите идти, но вы можете прочитать файл Excel напрямую с ClosedXML: https://github.com/closedxml/closedxml

string fileName = "C:\\Folder\\MyFile.xlsx";
var workbook = new XLWorkbook(fileName);
var ws1 = workbook.Worksheet(1);
var name = ws1.Cell("B3").Value;

Вы также можете редактировать и сохранять.

0 голосов
/ 14 ноября 2018

OK. Ваша первая строка будет игнорироваться, потому что она содержит только цифры. Поскольку читатель начинает считать с 0, это на самом деле неплохо. Значения первого столбца вы можете использовать как индекс строки. Следующее должно дать вам хорошее начало:

var rowNum = 0;
var colNum = 0;

var myResult = "";

int.TryParse(textbox1.Text, out rowNum); //make sure the textbox contains a valid integer number
int.TryParse(textbox2.Text, out colNum);

if (rowNum > 0 && colNum > 0)
{
    string query = "SELECT* FROM tb_patient_information WHERE rownum=@para1";
    using (var cmd = new MySqlCommand(query, connection))
    {
        cmd.Parameters.AddWithValue("@para1", rowNum);
        using (var dataReader = cmd.ExecuteReader())
        {
            dataReader.Read();
            myResult = dataReader.GetString(colNum);
        }
    }
}
...