OpenXML从Worksheet获取工作表名称

我正在迭代我的工作表 WorkbookPart wbPart = doc.WorkbookPart; SharedStringTablePart sstPart = wbPart.GetPartsOfType().First(); SharedStringTable sst = sstPart.SharedStringTable; foreach (var wsp in wbPart.WorksheetParts) { Worksheet ws = wsp.Worksheet; // i want to do something like this if (ws.Name == “People_Sheet”) { } } 我需要知道我正在处理哪张纸,所以我可以用不同的方式处理它。 如何获取工作表的名称(当我从excel中打开它时显示)? 如果我得到一张表单,我可以通过属性找到它 doc.WorkbookPart.Workbook.Sheets.ToList().ForEach(x => Console.WriteLine(x.GetAttribute(“name”, “”).Value)); 但是工作表和工作表之间的关系是什么? 如何从工作表中获取相应的工作表或工作表名称? 更新: 所以我确实找到并尝试了如何使用OpenXML从excel表中检索Tab名称 但是,sheetName与工作表不匹配。 foreach (var wsp in wbPart.WorksheetParts) […]

C#中的类初始化器是否可行?

在C#中,您可以使用对象初始值设定项在创建时初始化对象的字段, 而无需使用构造函数 。 现在我想知道是否存在类的等价物,这意味着在定义子类时可以“初始化”类的属性而不实际使用覆盖语法,而只是声明已知属性的值是什么。 例: public abstract class Car { public abstract string Name { get; } } // usual approach public class Mustang : Car { public overwrite string Name { get { return “Ford Mustang”; } } } // my idea of avoiding boilerplate code public class Mustang : Car { Name = […]

在ASP.Net中注册表格中的MS Captcha超时持续时间

我目前在注册表中使用MS Captcha。 如果表单在一分钟内提交,它的工作完美。 但有时,在填写表单后,用户会搜索要上传的文档,当他们最终提交表单时,会收到服务器错误,如下所示: [NullReferenceException:对象引用未设置为对象的实例。] MSCaptcha.CaptchaControl.ValidateCaptcha(String userEntry)+438 在提交按钮单击时,我调用ValidateCaptcha如下: Captcha1.ValidateCaptcha(txtCaptcha.Text.Trim()); 有人可以帮我处理这个例外吗? 提前致谢。

HttpClient中“服务器返回无效或无法识别的响应”的含义

在等待HttpClient .PostAsync响应时,我有时会看到一条错误,指出“服务器返回了无效或无法识别的响应” : System.Net.Http.HttpRequestException: An error occurred while sending the request. —> System.Net.Http.WinHttpException: The server returned an invalid or unrecognized response at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult() at System.Net.Http.WinHttpHandler.d__105.MoveNext() — End of inner exception stack trace — at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult() at System.Net.Http.HttpClient.d__58.MoveNext() 这是一个非常神秘的错误; 我想我可以设想一个“无效”的响应可能是什么(即语法无效的HTTP响应,比如直接跳转到没有状态行的头部的响应),但实际上是对HTTP的“无法识别的”响应请求? 这条消息似乎是无稽之谈。 在引擎盖下,什么情况下实际上可以触发这个错误?

Process.Start一个exe文件作为另一个用户在网络共享上

我需要运行位于我的域中的网络驱动器上的exe文件。 驱动器以“M:\”成功连接到我的PC,但我知道Process.Start(字符串,字符串……)在启动位于网络共享上的进程时需要有文件的URL路径。 这是我的代码: string user = “user”; string password = “Qwerty1”; string domain = “nwtraderds”; string open = “file://myshare\dir1\dir2\dir3\test.exe”; string PwString = password; char[] PasswordChars = PwString.ToCharArray(); SecureString Password = new SecureString(); foreach (char c in PasswordChars) Password.AppendChar(c); System.Diagnostics.Process.Start(open, user, Password, domain); 有趣的是: System.Diagnostics.Process.Start(open); 工作良好。 我的想法已经用完了,有人可以帮帮我吗?

C# – 跨表单使用ColorDialog

我有一个Windows窗体应用程序。 在主窗体上,用户将输入一些项目等,然后单击一个按钮,该按钮将打开一个新窗体(小窗体或大窗体,具体取决于复选框)。 现在,在我的主应用程序中,我有一个文件菜单 – 在其下设置 – 更改背景颜色。 这打开了colordialog。 如果用户没有选择任何内容,则背景颜色将保持默认。 但是,如果他们在主条目表单上更改它,我会更改几个文本框的背景 – 下面的代码。 private void warning1ToolStripMenuItem_Click(object sender, EventArgs e) { colorDialog1.ShowDialog(); Warn1Color = colorDialog1.Color.ToString(); if (Warn1Color != null) { tbWarn1Hrs.BackColor = colorDialog1.Color; tbWarn1Mins.BackColor = colorDialog1.Color; tbWarn1Secs.BackColor = colorDialog1.Color; tbWarn1Msg.BackColor = colorDialog1.Color; } } 现在我的问题是我如何得到它然后更改打开的其他窗体中的背景。 我希望我可以在新表单构造函数中传递字符串,就像我使用其他一些值一样。 ie – 这是我在新表单中的代码….(注意 – 字符串Warn1Color在构造函数中传递,然后使= =字符串_Warn1Color。如果它为null,则背景将默认为黄色,但它无法将类型字符串转换为system.drawing.color。有没有人看到一个简单的解决方案,或者我可以做些什么来轻松地工作。 if (_Warn1Color == null) { […]

如何将DataTable序列化为json或xml

我正在尝试将DataTable序列化为Json或XML。 可能吗?怎么样? 请给我任何教程和想法。 例如,有一个sql表: CREATE TABLE [dbo].[dictTable]( [keyValue] [int] IDENTITY(1,1) NOT NULL, [valueValue] [int] NULL, CONSTRAINT [Psd2Id] PRIMARY KEY CLUSTERED ( [keyValue] ASC )WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] C#代码: string connectionString = “server=localhost;database=dbd;uid=**;pwd=**”; SqlConnection mySqlConnection = new SqlConnection(connectionString); string selectString = “SELECT keyValue, valueValue FROM dicTable”; SqlCommand mySqlCommand […]

我应该将VB.net或C#用于桌面应用程序

即时通讯来自unix / server / c ++ / java背景,没有GUI经验我需要构建Windows GUI应用程序,我需要快速构建它我被告知.net系列是这样的工作的确切事情。 但是有VB.net和c#应该选择哪种更快更好的工作呢? 没有教学用户安装和部署最终产品会更容易

使用JavaScript在GridView中选择行

我在asp.net中遇到GridView的一些问题, Edit 当我点击编辑链接时,它会显示编辑AJAX弹出面板,但我现在怎样才能点击哪一行? 有解决方案吗 请帮我。

WinForms.Charting抑制自动生成图例

我正在使用System.Windows.Forms.DataVisualization.Charting.Chart类绘制包含一些数据的图表。 现在我想禁止在图例中自动生成条目,并用自定义项替换它们。 我已经找到了添加自定义项目的方法,但无法抑制自动生成。 我的代码: var legend = new Legend(); legend.LegendStyle = LegendStyle.Table; legend.TableStyle = LegendTableStyle.Wide; legend.IsEquallySpacedItems = true; legend.IsTextAutoFit = true; legend.BackColor = Color.White; legend.Font = new Font(Config.FontFamily, 9); legend.Docking = Docking.Bottom; legend.Alignment = StringAlignment.Center; legend.CustomItems.Add(new LegendItem(“test”, Color.Green, string.Empty)); ch.Legends.Add(legend); 以前有人做过这样的事吗?