繁体   English   中英

CONCATENATE 在使用 c# 的互操作 excel 中不起作用

[英]CONCATENATE is not working in interop excel using c#

在此处输入图片说明

我正在使用 C# 以编程方式使用公式 =CONCATENATE(A1,":",B1)-CONCATENATE(C1,":",D1) 创建 excel,但在以编程方式添加分号 ":" 时出错

帮我解决这个问题

错误:HRESULT:0X800A03EC

OSheet.Cells[1,1] = 10;
OSheet.Cells[1,2] = 30;
OSheet.Cells[1,3] = 5;
OSheet.Cells[1,4] = 25;
OSheet.Cells[1,5].Formula = "=CONCATENATE(A1,:,B1)-CONCATENATE(C1,:,D1)";
OSheet.Cells[1,5].NumberFormat = "hh:mm";

尝试这个:

OSheet.Cells[1,5].Formula = "=CONCATENATE(TEXT(A1-C1,"00"),":",TEXT(B1-D1,"00"))";

请参阅文本函数文档

您所说的适用于 Excel 的内容与您在 C# 代码中编写的内容不同:

C#: "=CONCATENATE(A1,:,B1)-CONCATENATE(C1,:,D1)"
XL:  =CONCATENATE(A1,":",B1)-CONCATENATE(C1,":",D1)

看到不同? 在你的 C# 中,你已经去掉了冒号周围的引号

让你的 c# 像:

OSheet.Cells[1,5].Formula = "=CONCATENATE(A1,\":\",B1)-CONCATENATE(C1,\":\",D1)";

在引号前加一个斜杠告诉 c#“这个引号是字符串的一部分,而不是结束字符串”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM