【问题标题】:Removing a blank character in-front of a value in a cell C#删除单元格 C# 中值前面的空白字符
【发布时间】:2017-01-27 09:16:23
【问题描述】:

我目前正忙于使用 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);
        }

由此产生的结果是正确的,如下面的截图所示

现在问题出在哪里,打开新的excel文档时,空格仍然在数据的前面。所以我在写入单元格时将“\b”添加到字符串中,但这就是结果。

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

这是在没有 /b 的情况下运行代码之前和之后的 excel 列的样子。不知道你能不能看到,但时代前面有一个空白字符。这也是那些询问过的人的代码。

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);
        }

谢谢

【问题讨论】:

  • 您不需要添加“\b” - 请您向我们展示不使用“\b”时的代码和输出
  • 为什么要在单元格值中添加 '\b'?

标签: c# excel interop office-interop


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-09-25
    • 2021-11-18
    • 2019-11-27
    • 2015-03-22
    • 2016-12-02
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多