首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Open XML SDK将双精度值写入Excel单元格

Open XML SDK是一个用于创建、读取和修改Office文档(如Excel、Word和PowerPoint)的开发工具包。它提供了一组API,使开发人员能够以编程方式生成和操作Office文档。

在使用Open XML SDK将双精度值写入Excel单元格时,可以按照以下步骤进行操作:

  1. 引用Open XML SDK库:首先,需要在项目中引用Open XML SDK库。可以通过NuGet包管理器来安装Open XML SDK。
  2. 创建Excel文档:使用Open XML SDK,可以创建一个新的Excel文档或打开现有的Excel文档。
  3. 定位到目标单元格:使用Open XML SDK,可以通过指定单元格的行和列索引来定位到目标单元格。
  4. 设置单元格值:使用Open XML SDK,可以将双精度值设置为目标单元格的值。可以使用CellValues.Double类型来表示双精度值。
  5. 保存Excel文档:使用Open XML SDK,可以将修改后的Excel文档保存到指定的文件路径或流中。

以下是一个示例代码,演示了如何使用Open XML SDK将双精度值写入Excel单元格:

代码语言:txt
复制
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;

public void WriteDoubleValueToExcelCell(string filePath, string sheetName, int rowIndex, int columnIndex, double value)
{
    using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(filePath, true))
    {
        WorkbookPart workbookPart = spreadsheetDocument.WorkbookPart;
        Sheet sheet = workbookPart.Workbook.Descendants<Sheet>().FirstOrDefault(s => s.Name == sheetName);
        WorksheetPart worksheetPart = (WorksheetPart)workbookPart.GetPartById(sheet.Id);

        Cell cell = GetOrCreateCell(worksheetPart.Worksheet, columnIndex, rowIndex);
        cell.DataType = CellValues.Number;
        cell.CellValue = new CellValue(value.ToString());

        worksheetPart.Worksheet.Save();
    }
}

private Cell GetOrCreateCell(Worksheet worksheet, int columnIndex, int rowIndex)
{
    Row row = worksheet.GetOrCreateRow(rowIndex);
    Cell cell = row.GetOrCreateCell(columnIndex);
    return cell;
}

private Row GetOrCreateRow(this Worksheet worksheet, int rowIndex)
{
    Row row = worksheet.GetFirstChild<SheetData>().Elements<Row>().FirstOrDefault(r => r.RowIndex == rowIndex);
    if (row == null)
    {
        row = new Row() { RowIndex = rowIndex };
        worksheet.GetFirstChild<SheetData>().Append(row);
    }
    return row;
}

private Cell GetOrCreateCell(this Row row, int columnIndex)
{
    Cell cell = row.Elements<Cell>().FirstOrDefault(c => c.CellReference.Value == GetCellReference(columnIndex, row.RowIndex));
    if (cell == null)
    {
        cell = new Cell() { CellReference = GetCellReference(columnIndex, row.RowIndex) };
        row.Append(cell);
    }
    return cell;
}

private string GetCellReference(int columnIndex, int rowIndex)
{
    return $"{GetColumnName(columnIndex)}{rowIndex}";
}

private string GetColumnName(int columnIndex)
{
    int dividend = columnIndex;
    string columnName = string.Empty;
    int modulo;

    while (dividend > 0)
    {
        modulo = (dividend - 1) % 26;
        columnName = Convert.ToChar(65 + modulo) + columnName;
        dividend = (dividend - modulo) / 26;
    }

    return columnName;
}

这是一个简单的示例,它将双精度值写入指定的Excel单元格。你可以根据实际需求进行修改和扩展。

腾讯云提供了一系列与Excel相关的产品和服务,例如腾讯云对象存储(COS)用于存储Excel文件,腾讯云函数计算(SCF)用于处理Excel文件的后台计算任务等。你可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于这些产品的详细信息和使用指南。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Excelize 2.4.0 正式版发布, 新增 152 项公式函数支持

可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。..., 相关 issue #625 公式计算引擎支持不等于运算符 嵌套公式函数现在支持单元格引用用作参数 支持指定是否设置图表数据系列格式为自动填充颜色 新增 152 项公式函数支持: ATAN, AVERAGE...SetCellValue 设置单元格时,不再为单元格设置空白字符串而以空代替,解决 issue #756 移除内部处理单元格填充颜色样式时冗余的 XML 可选空解析标识 提升与 Google...#764 添加并调整工作表字段的解析顺序,修复部分情况下生成的文档损坏的问题 #766 修复 COTH 曲余切三角函数计算有误的问题 公式计算链增加对工作表的关联处理,修复部分情况下复制行导致的文档损坏问题...,解决 issue #809 修复流式写入数据后调用普通 API 导致流式写入的丢失问题,解决 issue #813 修复负值图表数据系列填充颜色丢失问题 性能优化 提高了数值精度处理速度 其他 Go

2.1K71

Office Open XML学习(1)-创建excel文档,并向单元格中插入字符串

自从Open XML出现后,这种情况在很大程度上得到了改观,Open XML已经逐渐成为一种办公文档的通用国际标准了(该标准基于XML格式),详情见百度百科 http://baike.baidu.com.../view/1201978.htm 要在C#中使用Open XML,需先下载Open XML SDK (目前最高版本为2.0),下载地址为:http://www.microsoft.com/downloads...FamilyID=c6e744e5-36e9-45f5-8d8c-331df206e0d0 安装完以后,就能直接使用了,下面的代码演示了,如何创建一个Excel文档,并创建一个工作表"博客园",最后在该工作表的单元格...前面提到过Open XML是一个基于XML的标准,Open XML SDK安装后,提供了一个工具"Open XML SDK 2.0 Productivity Tool",可以用来查看所有支持Open XML...该工具还能将任何Open Document(即支持Open XML标准的office文档),直接生成相应的C#代码(很给力的一个功能!)

2.7K100
  • Python3读取和写入excel表格数据的示例代码

    python操作excel主要用到xlrd和 xlwt 这两个库,xlrd读取excel表格数据, 支持 xlsx和xls格式的excel表格 ;xlwt写入excel表格数据; 一、python读取excel...表格数据 1、读取excel表格数据常用操作 import xlrd # 打开excel表格 data_excel=xlrd.open_workbook('data/dataset.xlsx')...为默认False,然后再获取sheet中的合并单元格; SheetObject.merged_cells:获取sheet中合并单元格的信息,返回为列表;若sheet对象中无合并单元格,则返回为空列表...和col_start这两个索引即可 import xlrd """ 获取合并的单元格并读取单元格数据 """ # 获取xlsx格式的excel文件中的合并单元格 workbook = xlrd.open_workbook...excel,参数对应 行, 列, worksheet.write(0, 0, 'test_data') # 不带样式的写入 worksheet.write(1, 0, 'test_data', style

    1.4K10

    Python从0到100(二十一):用Python读写Excel文件

    如果使用较新版本的Excel,即操作xlsx格式的Excel文件,可以使用openpyxl库,当然这个库不仅仅可以操作Excel,还可以操作其他基于Office Open XML的电子表格文件。...三、写Excel文件写入Excel文件可以通过xlwt 模块的Workbook类创建工作簿对象,通过工作簿对象的add_sheet方法可以添加工作表,通过工作表对象的write方法可以向指定单元格写入数据...,最后通过工作簿对象的save方法工作簿写入到指定的文件或内存中。...下面的代码实现了5个学生3门课程的考试成绩写入Excel文件的操作。...我们可以先使用xlrd读取Excel文件夹,然后通过xlutils三方库提供的copy函数读取到的Excel文件转成Workbook对象进行写操作,在调用write方法时,可以一个Formula对象写入单元格

    15410

    Excelize 发布 2.0.2 版本, Go 语言最受欢迎的 Excel 基础库

    Open XML 标准。...可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的 XLSX 文档。...相比较其他的开源类库,Excelize 支持写入原本带有图片(表)、透视表和切片器等复杂样式的文档,还支持向 Excel 文档中插入图片与图表,并且在保存后不会丢失文档原有样式,可以应用于各类报表系统中...文档中嵌入包含函数和宏的 VBA 工程 函数 SetPageLayout() 增加适应页面宽高属性支持,相关 issue #432 函数 SetSheetViewOptions() 现在支持 “为零的单元格是否显示零...解决 issue #437 修复部分情况下数据验证下拉菜单中的公式失效问题 修复在循环迭代中调用 Save() 方法保存导致的文档损坏问题,解决 issue #443 提升文档内部 workbook.xml.rels

    1.4K11

    用Python玩转Excel

    xlrd的主要作用是读取工作簿中的数据,而xlwt的主要作用是数据写入工作簿中。...xls是2003版工作簿使用的格式,它是一种具有特定规律的二进制格式文件,其核心结构是2003版Excel特有的复合文档类型结构;而*.xlsx是2007版及以后版本工作簿默认使用的格式,其核心结构是XML...使用xlrd读取Excel数据 import xlrd # 读取excel文件 data = xlrd.open_workbook("file.xlsx") # 选择所有工作表中的第一个 sheet...是一个最简单,且完整的读取excel数据的过程。 总结 使用xlrd读取工作簿中的数据可以分成以下3步。 使用xlrd.open_workbook方法载入工作簿。...使用cell_value方法获取工作表中某个单元格中的信息。 如果想要批量读取单元格中的信息,那么必然需要使用循环语句。下一次,分享批量读取excel中的数据。

    75520

    python操作excel表格(xlrdxlwt)

    0,说明这个单元格是空,明明是合并的单元格内容"好朋友",这个是我觉得这个包功能不完善的地方,如果是合并的单元格那么应该合并的单元格的内容一样,但是它只是合并的第一个单元格的有,其它的为空。...这个是真没技巧,只能获取合并单元格的第一个cell的行列索引,才能读到,读错了就是空。...,但是表格本身的普通单元格也可能是空,要怎么获取单元格所谓的"第一个行或列的索引"呢?...在写excel的操作中也有棘手的问题,比如写入合并的单元格就是比较麻烦的,另外写入还有不同的样式。这些要看源码才能研究的透。...,m表示跨行个数,n表示跨列个数,string表示要写入单元格内容,style表示单元格样式。

    2.5K10

    Excelize 2.7.0 发布, 2023 年首个更新

    可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。...,相关 issue #1323流式按行赋值时,若行号未递增返回错误,以避免生成的工作簿损坏,相关 issue #1139按行流式写入工作表时,支持通过指定 RowOpts 为单元格设置样式,相关 issue...,相关 issue #1369支持读取带有符合 ISO 8061 标准的时间类型单元格支持设置和读取带有内建颜色索引的字体颜色工作簿关闭函数清理由流式写入器生成的磁盘缓存文件支持添加或删除列时自动调整受影响的列样式通过...AddPicture 添加图片时,现已允许插入 SVG 格式图片兼容性提升流式写入单元格时将以行内字符类型存储字符型单元格,相关 issue #1377保存工作簿时跳过工作表中的不带有样式和属性的空白行...,收到异常的问题修复获取带有单一单元格区域引用合并单元格区域时,收到异常的问题修复部分情况下读取富文本单元格不完整问题修复流式写入时未转义 XML 字符导致的文档损坏问题,解决 issue #1391

    1.7K131

    可能是全网最完整的 Python 操作 Excel库总结!

    为了进一步带大家了解各个库的异同,从而在不同场景下可以灵活使用,本文横向比较7个可以操作 Excel 文件的常用模块,在比较各模块常用操作的同时进行巩固学习!...(r'C:\xxxx\test1.xls') df2.to_excel(r'C:\xxxx\test2.xlsx') 六、获取单元格 获取单元格基本前提是能够读取文件,因此基本围绕 xlrd、...# 获取单个单元格 A1 = sheet.range('A1').value print(A1) # 获取横向或纵向多个单元格,返回列表 A1_A3 = sheet.range('A1:A3')...sheet[5:7] # 获取单元格 for cell in cells: print(cell.value) 6.4 pandas 获取单元格 pandas 读取 Excel 文件后即将它转换为数据框对象...可以写入数据 openpyxl 可以写入数据 pandas Excel 文件读取为数据框后,是抽象出数据框层面进行操作,没有了对 Excel 进行单元格写入和修改的概念 ” 7.1. xlwt/xlutils

    8.8K23

    ComPDFKit - 专业的PDF文档处理SDK

    id=100085132077341 产品&功能: 1.ComPDFKit PDF SDK PDF查看 提供强大的渲染引擎,轻松渲染复杂的PDF文档,支持自定义UI和各种功能操作,如单页布局,连续滚动...PDF转Excel PDF文件支持转档有边框、无边框、边框不全的Excel表格,可1:1还原单元格、原文件排版,并支持识别表格内的公式。...PDF转Image 提供SDKPDF文件转换为高质量的图像格式,包括PNG和JPEG。保证所有图像质量和分辨率都将保持不变。...PDF转HTML ComPDFKit转档SDK支持PDF转为单页或多页的可供网页浏览器读取的HTML网页。...灵活导出为Excel,CSV等文件格式,或输出为结构化的JSON,XML数据等。 版面分析 Document AI支持分析财务报表、证件、论文等文档,进行智能学习,训练模型库。

    7.6K60

    Excel之VBA简单宏编程

    Excel之VBA简单宏编程 excel是一款很经典的数据分析的工具,里面包含了很多内置函数,但实际情况有时却复杂得多,而excel的宏编程提供了自定义函数的功能,正好有老师需要帮忙做一些数据分析,就学习了一下...本人使用的是excel2013。有出入的地方可以参考。...获取表格数据 3.2复制单元格且保留原单元格列宽 3.3设置单元格、某一行或某一列颜色 3.4获取表格有用列数和有用行数 4、调试运行 1、准备工作 打开开发工具面板(excel的主选项卡默认是没有开发工具选项卡的...这时候主选项卡就有开发工具项了 进入vba编辑 点击visual basic进入 在VBAProject上右键->插入->模块 出现一个编辑文件如下图 然后就可以在这里写入...Single 精度为6 精度浮点型数字 Double 精度为14 日期型 Date 布尔型 Boolean 变体型 Variant 万用的类型,尽量避免使用 对象型 Object 没有深究 枚举型

    3.5K31

    Excelize 2.1.0 发布, Go 语言 Excel 基础库

    [ydu96eaw3j.png] Excelize 是 Go 语言编写的用于操作 Office Excel 文档类库,基于 ECMA-376 Office Open XML 标准。...可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的 XLSX 文档。...相比较其他的开源类库,Excelize 支持写入原本带有图片(表)、透视表和切片器等复杂样式的文档,还支持向 Excel 文档中插入图片与图表,并且在保存后不会丢失文档原有样式,可以应用于各类报表系统中...#538 函数 SetColVisible 支持对指定范围内的多列进行可见行设置 函数 AddPivotTable 支持创建数据透视表时,所引用数据源区域存在空列,相关 issue #511 问题修复 修复单元格的末尾空白字符丢失问题...兼容性提升,新增 49 个文档内部 XML 命名空间支持 其他 对于解析 XML 过程出现的异常将使用日志记录,相关 issue #539 提高单元测试覆盖度(行覆盖度:97.04%) 完善单元测试中的错误处理

    1.2K71

    C#仪器数据文件解析-Excel文件(xls、xlsx)

    不少仪器工作站可以数据导出为Excel文件,包括97-2003版本的xls文件和2007+的xlsx文件。...常用的采集Excel文件数据的方式有: 1.通过OLE DB的方式,Excel文件作为数据库进行查询来获取数据; 2.使用MS Excel应用程序来读取Excel文件数据; 3.使用WPS应用程序来读取...; 4.使用其他Office软件来读取; 5.使用MS Open XML来读取; 6.使用NPOI组件读取; 7.…… 方式有很多,但各有优劣,比如MS Excel应用程序有版权的问题,WPS等应用程序即使免费也需要安装...,另外通过DCOM调用应用程序需要配置权限; 无需应用程序的方式,可以通过NPOI、MS Open XML等方式,使用XML读取Excel的组件一般仅支持excel 2007+,毕竟该版本的Excel文件是...以下代码为打开Excel文件,并读取其sheet页、行、单元格: FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read

    2.1K80
    领券