删除单元格中值的前面的空白字符C#

时间:2017-01-27 09:16:23

标签: c# excel interop office-interop

我目前正忙于使用C#操作Excel数据的应用程序。但是我遇到了一个问题。

列中的数据都在其前面有一个空格,这与Sum()功能混淆。

我已经使用此方法从列中读取每一行并删除数据前面的空白区域。

private void BlankCheck()
        {
            string Val,NT;
            int RCount = xlWorksheet.UsedRange.Rows.Count;
            for(int X = 3; X < RCount; X++)
            {
                Val = (string)(xlWorksheet.Cells[X, 8] as Excel.Range).Text;
                NT = Val.Trim();
                xlWorksheet.Cells[X, 8] = "\b"+NT.ToString();
            }
            xlApp.Quit();
            ReleaseObject(xlWorksheet);
            ReleaseObject(xlWorkbook);
            ReleaseObject(xlApp);
        }

由此产生的结果是正确的,如下面的屏幕截图所示 Results of the method

现在问题在于,当打开新的Excel文档时,空白区域仍然在数据前面。所以我添加了&#34; \ b&#34;写入单元格时的字符串,但这是结果。

Excel sheet result

我不确定为什么那些[]出现了? 有什么建议吗?

Edited Data

这是excel列在代码运行之前和之后都没有/ b的情况。不确定你是否能看到它,但时间前面有一个空白字符。这些代码也适用于那些曾经问过的人。

private void BlankCheck()
        {
            string Val,NT;
            int RCount = xlWorksheet.UsedRange.Rows.Count;
            for(int X = 3; X < RCount; X++)
            {
                Val = (string)(xlWorksheet.Cells[X, 8] as Excel.Range).Text;
                NT = Val.Trim();
                xlWorksheet.Cells[X, 8] = NT.ToString();
            }
            xlApp.Quit();
            ReleaseObject(xlWorksheet);
            ReleaseObject(xlWorkbook);
            ReleaseObject(xlApp);
        }

由于

1 个答案:

答案 0 :(得分:0)

我认为如果在释放对象之前调用xlWorkbook.Save()会有所帮助。