C# 使用c在excel中基于值的条件格式设置/连接#

C# 使用c在excel中基于值的条件格式设置/连接#,c#,excel,row,concatenation,C#,Excel,Row,Concatenation,我正在尝试连接excel文件中的两列并将其保存到新列。 但是如果一个值为空,我想忽略连接。 然后移到下一个单元格 Excel.Worksheet exampst = (Excel.Worksheet)Sh.get_Item("Sheet2"); Excel.Range rng2 = (Excel.Range)exampst.get_Range("H1", Type.Missing); rng2.EntireColumn.In

我正在尝试连接excel文件中的两列并将其保存到新列。 但是如果一个值为空,我想忽略连接。 然后移到下一个单元格

            Excel.Worksheet exampst = (Excel.Worksheet)Sh.get_Item("Sheet2");
            Excel.Range rng2 = (Excel.Range)exampst.get_Range("H1", Type.Missing);
            rng2.EntireColumn.Insert(Microsoft.Office.Interop.Excel.XlInsertShiftDirection.xlShiftToRight,                                        Microsoft.Office.Interop.Excel.XlInsertFormatOrigin.xlFormatFromRightOrBelow);
            exampst.Range["H1", Type.Missing].Value2 = "CombineID";
            Excel.Range rgcon2 = exampst.Range["H2"];
            //Excel.Range rng3 = (Excel.Range)RFCst.get_Range("G2", Type.Missing);
            //object obj = rng3.Value2;
            rgcon2.Formula = String.Format("=CONCATENATE(A2,G2)");
我的excel表如下所示。

A1 G1 H1
1 a 1a//这是连接的值。
2//此值b为null,因为G1列缺少行值。
3b 3b
4 c 4c
5d 5d
6
7e 7e 8f 8f 9等等。。。。


请提供帮助。

在连接之前,需要先检查A列和G列中单元格的值是否为null或空。 您可以这样做:

object rangeObject = activeWorksheet.Cells[3, "A"];
Range range = (Range)rangeObject;
object rangeValue = range.Value2;
string cellValue1 = rangeValue.ToString();

rangeObject = activeWorksheet.Cells[3, "G"];
range = (Range)rangeObject;
rangeValue = range.Value2;
string cellValue2 = rangeValue.ToString();

if (cellValue1 != string.Empty && cellValue2 != string.Empty)
{
   //concatenate cells
}

你忘了问问题了。你的代码的具体问题是什么?lol。我希望我的代码按照所示进行合并。但它不考虑G1列中的空白。因此,如果G1中存在值,则将其合并并将结果保存在H列中。如果不存在,只需重新合并即可。