【问题标题】:Excel Cell Value Replacement with other value in C# Windows ApplicationExcel 单元格值替换为 C# Windows 应用程序中的其他值
【发布时间】:2012-10-06 16:12:30
【问题描述】:

我正在使用 .NET C# 开发 Windows 应用程序。我必须用其他一些文本(我从数据库中获取)替换 Excel 单元格内容。我需要做的是用数据库中的实际值替换 Excel 的值。 (例如,“CustomerName”将替换为“John”,“CustomerCompanyName”将替换为“GE”等)。此外,如果某些值不存在,则该空白区域将与其以下值重叠。

我们如何实现这个东西?

【问题讨论】:

    标签: c# .net excel printing replace


    【解决方案1】:

    这取决于。

    如果这些只是工作表中的静态值,并且您不希望在更新它们时在 excel 中执行计算,那么只需使用 OpenXml 编辑电子表格。

    否则您将不得不使用 Office Interopt 或某些第三方 excel 库。

    【讨论】:

      【解决方案2】:

      我正在使用来自http://www.tmssoftware.net/(无从属关系)的 FlexCel,它很棒。价格合理、速度快、所有托管代码和开发人员似乎知道他在说什么,并且对查询也非常敏感。

      比 Office Interop 库恕我直言要好 1000%。

      过去我通过互操作库访问 Excel,对于服务器,我使用 ODBC/OLE-DB 驱动程序,但总是遇到困难。

      【讨论】:

        【解决方案3】:

        如果您想使用 OpenXml,here 您将了解如何读取 Excel 文档单元格的值,here 用于在单元格中写入值。

        您可以使用的另一个免费库是NPOI。这些说明让您初步了解如何读取/写入单元格的数据并保存修改后的文件:

                FileStream aFile = new FileStream(@"c:\tmp\foo.xls", FileMode.Open, FileAccess.Read);
                HSSFWorkbook wb = new HSSFWorkbook(aFile);
                aFile.Close();
                ISheet ws = wb.GetSheet("Worksheet1");
        
                IRow aRow = curSheet.GetRow(aRowIdx);
                if (aRow == null)
                    aRow = curSheet.CreateRow(aRowIdx);
                ICell aCell = aRow.GetCell(aColIdx);
                if (aCell == null)
                    aCell = aRow.CreateCell(aColIdx);
                string sValue = aCell.StringCellValue; // here the value is read
                sValue = sValue + " MODIFIED";
                aCell.SetCellValue(sValue); // here it is written
                aFile = new FileStream(@"c:\tmp\bar.xls", FileMode.Create);
                wb.Write(aFile);
                aFile.Close();
        

        【讨论】:

          猜你喜欢
          • 2012-10-17
          • 2012-10-17
          • 1970-01-01
          • 1970-01-01
          • 2020-03-06
          • 2022-08-16
          • 1970-01-01
          • 2021-01-23
          • 2019-03-27
          相关资源
          最近更新 更多