Копирует не значение ячейки, а то, чем эта ячейка является - 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();
}
}
}