我以编程方式使用 XML 生成 Excel 文件。然后尝试打开该文件时,我收到以下消息:
“您尝试打开的文件‘MyFile.xls’的格式与文件扩展名指定的格式不同。在打开该文件之前,请验证该文件未损坏且来源可靠。是否要打开现在文件?”
当用户按“是”时,文件打开不会出现问题。但这个警告和需要进行额外的点击很烦人。我怎样才能摆脱它呢?
这是我的代码的一部分:
var stream = File.Create(path);
var w = new XmlTextWriter(stream, null); // Creates the XML writer from pre-declared stream.
//First Write the Excel Header
w.WriteStartDocument();
w.WriteProcessingInstruction("mso-application", "progid='Excel.Sheet'");
w.WriteStartElement("Workbook");
w.WriteAttributeString("xmlns", "urn:schemas-microsoft-com:office:spreadsheet");
w.WriteAttributeString("xmlns", "o", null, "urn:schemas-microsoft-com:office:office");
w.WriteAttributeString("xmlns", "x", null, "urn:schemas-microsoft-com:office:excel");
w.WriteAttributeString("xmlns", "ss", null, "urn:schemas-microsoft-com:office:spreadsheet");
w.WriteAttributeString("xmlns", "html", null, "http://www.w3.org/TR/REC-html40");
w.WriteStartElement("DocumentProperties");
w.WriteAttributeString("xmlns", "urn:schemas-microsoft-com:office:office");
w.WriteEndElement();
// Creates the workbook
w.WriteStartElement("ExcelWorkbook");
w.WriteAttributeString("xmlns", "urn:schemas-microsoft-com:office:excel");
w.WriteEndElement();
Run Code Online (Sandbox Code Playgroud) 我正在尝试填充一个列表框。我的模型只是一个列表。我找不到我需要与@Html.ListBoxFor() 一起使用的参数的简单解释。
这是我的代码的一部分:
public ActionResult Index()
{
List<string> names = GetAllNames();
return View(names);
}
...
Run Code Online (Sandbox Code Playgroud)
在视图中:
@model List<string>
...
@Html.ListBoxFor(?)
Run Code Online (Sandbox Code Playgroud)
谢谢。
我有一个使用Caliburn.Micro的WPF应用程序.
DataGrid有一个属性SelectedItem ="{Binding Path = SelectedUsageRecord}"
如您所见,SelectedItem绑定到SelectedUsageRecord属性.但我需要能够处理选择多个记录.这可以将多个记录绑定到集合属性吗?我没有看到像"SelectedItems"这样的东西......谢谢.
我需要验证一个帐号.它应该只有数字,有9或10个字符.我试过这个:
return Regex.IsMatch(id, "[0-9]{9,10}");
Run Code Online (Sandbox Code Playgroud)
但这不能正常工作,因为如果数字是"1234567890blah",它返回true.你能帮忙吗,因为我对正则表达式不是很好吗?
谢谢.
在我的 WPF 应用程序中,我有一个简单的列表框:
<ListBox x:Name="lbUtilities">
<ListBoxItem Tag="2" Content="One" IsSelected="True" />
<ListBoxItem Tag="5" Content="Two" />
</ListBox>
Run Code Online (Sandbox Code Playgroud)
问题是,当列表框第一次出现时,所选项目(“One”)不会突出显示。如果我点击任何项目,它就会突出显示。如何让默认选择的项目突出显示为系统颜色?
谢谢。
我创建了一个防止分配在一个表中超过另一个表库存(请参见我刚才的问题的细节约束这里).但由于某种原因,只有当我插入新的分配时,约束才能按预期工作,但是在更新时它不会阻止违规.
这是我的约束:
([dbo].[fn_AllocationIsValid]([Itemid]) = 1)
Run Code Online (Sandbox Code Playgroud)
这是功能:
CREATE FUNCTION [dbo].[fn_AllocationIsValid] (@itemId as int)
RETURNS int AS
BEGIN
DECLARE @isValid bit;
SELECT @isValid = CASE WHEN ISNULL(SUM(Allocation), 0) <= MAX(Inventory) THEN 1 ELSE 0 END
FROM Allocations A
JOIN Items I ON I.Id = A.ItemId
WHERE I.Id = @itemId
GROUP BY I.Id;
RETURN @isValid;
END
Run Code Online (Sandbox Code Playgroud)
谢谢.
添加:
这是我的表格:
CREATE TABLE [allocations] (
[userID] [bigint] NOT NULL ,
[itemID] [int] NOT NULL ,
[allocation] [bigint] NOT NULL ,
CONSTRAINT [PK_allocations] PRIMARY …Run Code Online (Sandbox Code Playgroud) 我们有一个 Xamarin.Forms 应用程序,并尝试使用 MSAL 身份验证,并面临 iOS 项目的问题。它可以在模拟器中运行,但是当由Azure管道构建并安装在真实的iPhone上时,会发生异常:
MSAL.Xamarin.iOS.4.14.0.MsalClient 异常:ErrorCode:missing_entitlements Microsoft.Identity.Client.MsalClientException:应用程序未在 Entitlements.plist 中启用钥匙串访问组。结果,无法保存到 iOS 钥匙串。Entitlements.plist 中未启用钥匙串访问组“OURID.com.microsoft.adalcache”...
OURID 当然是真实值的替代品。
这是 entitlements.plist 中的内容:
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.microsoft.adalcache</string>
</array>
Run Code Online (Sandbox Code Playgroud)
在 B2CAuthenticationService 构造函数中:
var builder = PublicClientApplicationBuilder.Create(B2CConstants.ClientID)
.WithB2CAuthority(B2CConstants.AuthoritySignInSignUp)
.WithIosKeychainSecurityGroup(B2CConstants.IOSKeyChainGroup)
.WithRedirectUri($"msal{B2CConstants.ClientID}://auth");
Run Code Online (Sandbox Code Playgroud)
我可能缺少什么导致异常?
添加:如果我向管道添加变量替换任务,即使这样,它们也只能替换 xml 和 json 配置文件中的值;不是 plist 文件。
我有一个带有style ="display:none"的div.按下html按钮时div应该可见:
function JSAdd() {
document.getElementById('divDetail').style.display = "block";
}
<div style="float:left">
<div id="ctl00_MainContent_upnlLbRD">
<select size="4" name="ctl00$MainContent$lbRD" id="ctl00_MainContent_lbRD" style="width:188px;">
<option value="5">one</option>
<option value="1">two</option>
</select>
Run Code Online (Sandbox Code Playgroud)
<input id="btnAdd" type="button" value="????????" onclick="JSAdd();" />
<input id="btnEdit" type="button" value="?????????????" onclick="JSEdit();" />
</div>
<div id="ctl00_MainContent_divDetail" style="display:none" clientidmode="static">
<div id="ctl00_MainContent_upnlDescription">
<div>
<span id="ctl00_MainContent_lblDescription">????????:</span>
<input name="ctl00$MainContent$txtDescription" type="text" id="ctl00_MainContent_txtDescription" />
<span id="ctl00_MainContent_txtDescriptionRequiredFieldValidator" style="color:Red;visibility:hidden;">???????? ???????? ???????????? ??? ??????????</span>
</div>
<input type="submit" name="ctl00$MainContent$btnSave" value="?????????" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$MainContent$btnSave", "", true, "", "", false, false))" id="ctl00_MainContent_btnSave" />
Run Code Online (Sandbox Code Playgroud)
我需要能够从代码隐藏中再次使div不可见.我不能访问div,除非它是runat="server".但是当我添加runat ="server"时,从上面的javascript函数按下按钮时div不会显示.你能帮帮我吗?
谢谢,
大卫
在我的WPF Caliburn.Micro应用程序中,我有一个TabControl.我希望能够根据需要关闭标签.我在这里找到了一种方法:
但是当我尝试应用它时,我收到一个错误:
找不到方法CloseItem的目标.
这是我的代码:
<TabControl x:Name="Items" >
<TabControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding DisplayName}" />
<Button Content="X"
cal:Message.Attach="CloseItem($dataContext)" />
</StackPanel>
</DataTemplate>
</TabControl.ItemTemplate>
</TabControl>
Run Code Online (Sandbox Code Playgroud)
能否请你帮忙?
谢谢.
我有一个与Caliburn.Micro的WPF应用程序.
我想处理滑块的移动,即MouseUp事件.
<Slider cal:Message.Attach="[Event MouseUp] = [Action OnSliderMouseUp($this)]"
Value="{Binding PlayerPosition, Mode=OneWay}" MinWidth="200"
VerticalAlignment="Center" Minimum="0"
Maximum="{Binding Player.NaturalDuration.TimeSpan.TotalMilliseconds}"/>
Run Code Online (Sandbox Code Playgroud)
在ViewModel中:
public void OnSliderMouseUp(Slider slider)
{
int blah = 9;
}
Run Code Online (Sandbox Code Playgroud)
OnSliderMouseUp()永远不会被称为.你能告诉我我错过了什么吗?
c# ×4
wpf ×4
asp.net ×1
constraints ×1
excel ×1
ios ×1
javascript ×1
listbox ×1
regex ×1
slider ×1
sql-server ×1
tabcontrol ×1
xamarin.ios ×1