Я пишу инструмент, который синхронизирует простую базу данных с листами Excel. Каждый элемент в таблице в базе данных соответствует одной строке на рабочем листе. Я прочитал лист Excel в инструмент, используя C # и интерфейс взаимодействия Excel, затем сравнил значения элементов (то есть один из столбцов в листе Excel) после синхронизации, чтобы убедиться, что они равны.
Вчера я обнаружил случай, когда сравнение не соответствует действительности:
"'<MedalTitle>' Medal - <MedalDescription>"
"<MedalTitle>' Medal - <MedalDescription>"
Второй - тот, который я прочитал в Excel, и, как вы можете видеть, он пропустил первый апостроф. Есть ли способ заставить Excel воспринимать ячейку как просто текст (нет, просто настройка форматирования ячейки не помогает)?
Я даже пытался скопировать значение ( 'привет' ) ячейки в VBA следующим образом:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Offset(1, 0).Value = Target.Worksheet.Range("b2").Value
Target.Offset(2, 0).Value = Target.Worksheet.Range("b2").Formula
Target.Offset(3, 0).Formula = Target.Worksheet.Range("b2").Formula
Target.Offset(4, 0).Formula = Target.Worksheet.Range("b2").Value
End Sub
В результате значение целевой ячейки всегда равно привет '
Если нет возможности, мне придется сделать что-то уродливое, как
if (dbitem.value[0] == ''' )
{
// stuff
}
else
{
// regular comparison
}