Получить текст ячеек в столбце Excel - C#
Формулировка задачи:
Добрый день,
каким образом можно получить (потом надо будет запихнуть в List) текст всех ячеек в столбце. При этом, сначала надо узнать имя столбца
по тексту
одной ячейки (например D1). Вид таблицы в аттаче:Решение задачи: «Получить текст ячеек в столбце Excel»
textual
Листинг программы
namespace Excel_Forms
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Excel.Application mExcel = new Excel.Application();
private void button_mOpen_Click(object sender, EventArgs e)
{
if (textBox_mC1.TextLength < 1)
{
MessageBox.Show("Вы не ввели количество столбцов!");
System.Environment.Exit(-1);
}
int c1 = Convert.ToInt32(textBox_mC1.Text);
int c2 = c1;
OpenFileDialog mOPFD = new OpenFileDialog();
mOPFD.Filter = "Excel (*.XLS)|*.XLS";
mOPFD.ShowDialog();
string mPath = mOPFD.FileName;
Excel.Workbook mWorkbook = mExcel.Workbooks.Open(mPath, 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);
Excel.Sheets mSheets = mWorkbook.Worksheets;
Excel.Worksheet mSheet = (Excel.Worksheet)mSheets.get_Item(1);
for (int i = 1; i <= c1; i++)
comboBox_mName.Items.Add((mSheet.Cells[i, 1] as Excel.Range).Text);
for (int j = 1; j <= c2; j++)
comboBox_mValue.Items.Add((mSheet.Cells[j, 2] as Excel.Range).Text);
}
private void comboBox_mName_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox_mValue.SelectedIndex = comboBox_mName.SelectedIndex;
}
}
}