我正在编写一个将简单数据库与 Excel 工作表同步的工具。数据库中表中的每个项目对应于工作表中的一行。我使用 C# 和 Excel interop com 接口将 Excel 工作表读入工具,然后在同步后比较项目的值(即 Excel 工作表中的列之一),以确保它们相等。
昨天我发现了一个比较不正确的案例:
"'<MedalTitle>' Medal - <MedalDescription>"
"<MedalTitle>' Medal - <MedalDescription>"
第二个是我从 Excel 中读到的,你可以看到它跳过了第一个撇号。有没有办法告诉 Excel 将单元格视为文本(不,只是设置单元格的格式没有帮助)?
我什至尝试在 VBA 中复制单元格的值( 'hello' ),如下所示:
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
}