System.Reflection.Missing.Value的应用

本文介绍如何在C#中通过指定COM中的可选参数来操作Excel,并提供了一个具体的示例代码,展示了如何打开一个Excel文件并处理可能出现的文化设置问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在C#中,您可以用以下方法来指定COM中的可选参数
using System.Reflection; 
. . . 
. . . 
//System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); 
Excel.Application excel = new Excel.Application(); 
Excel.Workbook ewb = excel.Workbooks.Open(@"f:\sample.xls",Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value); 

另外,目前在非en-US culture下,在.NET中使用Excel还存在一些问题,所以,如果您遇到了问题,可以如上加入System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");一句来事先改变一下culture. 

关于在C#.NET中使用Excel的更详细的示例代码,您可以参考以下一些文档: 
HOWTO: Automate Microsoft Excel from Visual C# .NET   
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q302084 

HOWTO: Fill/Retrieve Excel Data Using Arrays With C# .NET 
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q302084 

HOW TO: Handle Events for Excel by Using Visual C# .NET   
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q302815   

 

转自:http://hi.baidu.com/limeng_hoho/item/479dd9776821d25a0c0a076a

此段代码报错CS1061“ContentControl"未包含”checkedSymbol“的定义,并且找不到可接受第一个”ContentControl“类型参数的可访问扩展方法”CheckedSymbol“(是否缺少using指令或程序集引用)请帮忙修改并给出修改后的代码using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Office.Interop.Word; using System.Windows.Forms; using System.IO; using System.Xml.Linq; using Word = Microsoft.Office.Interop.Word; using static System.Windows.Forms.VisualStyles.VisualStyleElement.Button; using System.Security.Cryptography; using System.Drawing; namespace Export { class MyAPQP { public static void WdExport() { //新增一个word文档 object noThing = System.Reflection.Missing.Value; Document wdDoc = MyWord.WdApplication.Documents.Add(Template: ref noThing, NewTemplate: ref noThing, DocumentType: ref noThing, Visible: ref noThing); #region 页面及样式设置 MyWord.SetPageSetup(document: wdDoc); //页面设置 MyWord.SetStyle(document: wdDoc, styleType: WdBuiltinStyle.wdStyleNormal, fontSize: 9.0f, paragraphAlignment: WdParagraphAlignment.wdAlignParagraphLeft); //正文样式(WdBuiltinStyle.wdStyleNormal)设置 小五 MyWord.SetStyle(document: wdDoc, styleType: WdBuiltinStyle.wdStyleHeader, fontSize: 9.0f, paragraphAlignment: WdParagraphAlignment.wdAlignParagraphCenter); //页眉样式(WdBuiltinStyle.wdStyleHeader)设置 小五 MyWord.SetStyle(document: wdDoc, styleType: WdBuiltinStyle.wdStyleFooter, fontSize: 9.0f, paragraphAlignment: WdParagraphAlignment.wdAlignParagraphCenter); //页脚样式(WdBuiltinStyle.wdStyleFooter)设置 小五 MyWord.SetStyle(document: wdDoc, styleType: WdBuiltinStyle.wdStyleTitle, fontSize: 14.0f, paragraphAlignment: WdParagraphAlignment.wdAlignParagraphCenter, spaceBefore: 4.0f, spaceAfter: 4.0f); //标题样式(WdBuiltinStyle.wdStyleTitle)设置 四号 MyWord.SetStyle(document: wdDoc, styleType: WdBuiltinStyle.wdStyleHeading1, fontSize: 12.0f, paragraphAlignment: WdParagraphAlignment.wdAlignParagraphL
03-13
public partial class FormMain : Form { // Dictionary<int, int> ddtype = new Dictionary<int, int>(); //string currenpath = ""; private Point p1; //private Word.Application G_wa;//定义Word应用程序字段 private object G_missing = //定义missing字段并赋值 System.Reflection.Missing.Value; private object G_str_path;//定义文件保存路径字段 private bool isLoginWroking; private Icon blank = Resources.blank; private Icon applications = Resources.applications; private bool blink = false; public bool isHaveGuHuaIP = false; private DeviceMF08 _consumed; private HashSet<string> lstAlarm = new HashSet<string>(); private void DeviceMF08_OnAlarmChanged(object sender, AlarmEnum alarmEnum) { if (this.InvokeRequired) { this.Invoke(new AlarmHandler(DeviceMF08_OnAlarmChanged), new object[] { sender, alarmEnum }); } else { //处理以下图像 showDeviceStatus(); //报警声音随之输出 //if (isalarm) //{ // //if (InterfaceUtils.MUSIC_PLAY.PLAYING) // // InterfaceUtils.MUSIC_PLAY.Stop(); // //InterfaceUtils.MUSIC_PLAY.PlayCycle(ConfigManager.Load().AlarmPath); // InterfaceUtils.MUSIC_PLAY.PlayerAdd(AlarmEnum.Alarm); //} if (DeviceUtils.HasAlarmDevice(alarmEnum, out HashSet<int> deviceList)) { //string str = $"检测到以下报警信号:{deviceList.Count}:"; //foreach (var item in deviceList) //{ // str += "\t" + ($"{item}"); //} //Log.WriteLine($"{str}"); InterfaceUtils.MUSIC_PLAY.PlayerAdd(alarmEnum); } else { InterfaceUtils.MUSIC_PLAY.PlayerRemove(alarmEnum); } //foreach (var item in dct) //{ // item.Value.ImageIndex = 4; // TreeChange(item.Value, null); //} } } } 因为以下两个方法 public void PlayerAdd(int deviceSerial, AlarmEnum play) { var item = Tuple.Create(deviceSerial, play); if (!list.Contains(item)) list.Add(item); } public void PlayerRemove(int deviceSerial, AlarmEnum play) { var item = Tuple.Create(deviceSerial, play); list.Remove(item); } 导致InterfaceUtils.MUSIC_PLAY.PlayerAdd(alarmEnum);和InterfaceUtils.MUSIC_PLAY.PlayerRemove(alarmEnum);报错,怎么处理
最新发布
06-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值