Копирует не значение ячейки, а то, чем эта ячейка является - C#

Узнай цену своей работы

Формулировка задачи:

Овзникла необходимость использовать эксель. В ячейке таблицы стоит формула, которая возвращает 0 или 1. При копировании этой ячейки в стринговую переменную, копируется название объекта. Как можно скопировать именно значение из ячейки?
Microsoft.Office.Interop.Excel.Application ExcelOne = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel.Workbook WorkBookOne = ExcelOne.Workbooks.Open(@"D:\\Акции\1.csv", 0,false, 5, ",", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
            Microsoft.Office.Interop.Excel.Application ExcelSecond = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel.Workbook WorkBookSecond = ExcelSecond.Workbooks.Open(@"D:\\Акции\1.csv", 0, false, 5, ",", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
            Microsoft.Office.Interop.Excel.Worksheet WorkSheetOne;
            WorkSheetOne = (Microsoft.Office.Interop.Excel.Worksheet)WorkBookOne.Sheets[1];
            Microsoft.Office.Interop.Excel.Worksheet WorkSheetSecond;
            WorkSheetSecond = (Microsoft.Office.Interop.Excel.Worksheet)WorkBookSecond.Sheets[1];
            string signal;//M2:M2;
            Microsoft.Office.Interop.Excel.Range range = WorkSheetSecond.get_Range("M2","M2");//
            signal = Convert.ToString(range);
            //int sig = Convert.ToInt16(range);
            //if (sig == 0) { SignalBox.Clear();SignalBox.Text = "Продавай"; }
            //if (sig == 1) { SignalBox.Clear();SignalBox.Text = "Покупай"; }
            SignalBox.Clear();
            SignalBox.Text = signal;
            ExcelSecond.Quit();
            ExcelOne.Quit();

Решение задачи: «Копирует не значение ячейки, а то, чем эта ячейка является»

textual
Листинг программы
using System;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            Excel.Application ExcelOne = new Microsoft.Office.Interop.Excel.Application();
            Excel.Workbook WorkBookOne = ExcelOne.Workbooks.Open(@"G:\C#\ExcelFile.xlsx");
            Excel.Worksheet WorkSheetOne;
            WorkSheetOne = (Excel.Worksheet)WorkBookOne.Sheets[1];
            Excel.Range range = WorkSheetOne.get_Range("M2");
            textBox1.Text = range.Value.ToString();
            WorkBookOne.Close(false); //закрыть книгу и не сохранять изменения (если true - сохранить изменения)
            ExcelOne.Quit();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы