我想在OpenXML中创建powerpoint文件.
我希望使用以下功能
<item><child><name>a</name></child><child><name>b</name></child><child><name>c</name></child></item>在xml文件中以源文件的正确格式创建ABC.所有这一切都可能吗?我在哪里可以找到文档,以便使用OpenXML API或任何适当的工具包来做到这一点?
如何从docx文件中逐字(带样式)阅读.我想逐个比较两个docx文件,并根据我要写入另一个docx文件的差异(使用c#和OOXML).我尝试使用DocumentFormat.OpenXml.Extensions.dll,OpenXMLdiff.dll和ICSharpCode.SharpZipLib.dll来实现这一点,但没有任何东西可以让我逐字阅读(ICSharpCode.SharpZipLib确实逐字逐句地提供)它不会给出与该词相关的风格).
任何有关这方面的帮助都非常有用.
有谁知道如何简单地打开和关闭Excel工作簿?
我不需要从文件中读取任何数据,我只需要打开并关闭它.(*)
我猜我需要引用Microsoft.Office.Interop.Excel程序集.
*原因:我已经使用第三方库(Aspose)配置了数据透视表信息.现在我需要阅读生成的数据透视表.
不幸的是,Aspose库无法在运行时生成数据透视表.它需要有人用Excel打开文件,以便Excel可以生成数据透视表值.
有没有人使用Microsoft Semblio SDK来构建培训或教育产品?如果是这样,开发人员的体验和/或用户体验如何?
我编写了一个基本的SL4应用程序,用于从麦克风中捕获音频数据CaptureSource.麻烦的是,它是原始的PCM输出 - 这意味着巨大的和未压缩的.
鉴于我需要这个应用程序纯粹在SL4环境中运行,我如何将PCM音频数据压缩成可以更容易地传送到远程服务器的东西?
基本上我需要一个解决方案,我也可以部署/包含在Windows Phone Series 7应用程序中,以及一个可以在浏览器环境中工作的解决方案 - 我认为只有托管代码解决方案?
在对话中,人们已经建议使用Speex和WMA,但是我没有找到任何可以工作的库或示例而不需要引用在SL4项目中不起作用的DLL.
每天,一个人需要检查特定工作簿是否已经使用彭博和路透社的市场数据进行了正确更新; 即所有数据都已通过并且"数字看起来正确".在过去,人们没有检查导致上传到其他系统的"数字"不正确.
我们的想法是,需要开发"某些东西"以防止使用关闭/保存工作簿,除非他/她已检查更新是否正确/准确.该numbers look correct动作纯粹是一种直观的练习,因此不会以任何方式编码.
简单的解决方案是在关闭特定工作簿之前提示用户验证数据是否已被检查.
使用VSTO SE for Excel 2007,创建了一个加载项,该加载项挂接到WorkbookBeforeClose在加载项中初始化的事件ThisAddIn_Startup
private void wb_BeforeClose(Xl.Workbook wb, ref bool cancel)
{
//.... snip ...
if (list.Contains(wb.Name))
{
DailogResult result = MessageBox.Show("some message", "sometitle", MessageBoxButtons.YesNo);
if (result != DialogResult.Yes)
{
cancel = true; // i think this prevents the whole application from closing
}
}
}
Run Code Online (Sandbox Code Playgroud)
我发现以下ThisApplication.WorkbookBeforeSavevsThisWorkbook.Application.WorkbookBeforeSave建议人们应该使用ThisApplication.WorkbookBeforeClose我认为正在做的事件,因为它将跨越所有打开的文件.
我对该方法的问题是假设我打开了几个文件,其中一些文件在我的文件中list,该事件阻止Excel按顺序关闭所有文件.现在需要单独关闭每个文件.编辑:从文件菜单中使用退出Excel时会发生这种情况.
问题
WorkbookBeforeClose是否正确使用了该活动,是否有效且高效地使用了该活动?我正在寻找字体文件中的属性(来自WPF System.Windows.Media.Fonts Typeface或GlyphTypeface)或直接访问.ttf/.otf文件,这将允许我确定Windows中的Write/WordPad等程序是否将Bold应用于字体.基本上,一些具有Bold属性的字体仍会获得额外的粗体,有些则不会.我试图发现用于做出这种决定的逻辑是什么.
若要手动查看此内容,请将以下内容复制并粘贴到"写入/写字板"(或OOo的Writer或MS Word或...)中,并将每行的字体更改为其名称(即将Arial Black应用于Arial Black)
现在应用粗体.你会看到#2和#3发生变化,但不会变成#1.
但是,#3虽然发生了与其他两种不同的东西 - 正在应用不同的字体.即ARIALNB .TTF(附加'NB',即Arial Narrow Bold)代替ARIALN.TTF(附加'N',即Arial Narrow).因此,对于此字体,实际上并未应用粗体.
回到列表.#1不会改变,但#2会改变.#1的重量是"黑色"而#2的重量是"粗体".如果您使用#3,ARIALNB.TTF的粗体版本并对其应用粗体,它将表现为#1 - 它不会改变.但它的重量与#2相同,即"Bold".
换句话说,两个是粗体(Arial Rounded MT Bold和Arrow Narrow Bold),但只有Arial Rounded MT Bold得到更大胆的应用.在Arial Black的情况下,它没有大胆的重量,但它仍然没有大胆的应用它.
这是它的样子:

有趣的是,WPF没有表现出这种行为(即添加更多粗体),但Silverlight会:
<StackPanel Orientation="Vertical">
<TextBlock FontSize="24" Text="Arial Rounded MT Bold" FontFamily="Arial Rounded MT"/>
<TextBlock FontSize="24" Text="Arial Rounded MT Bold" FontWeight="Black" FontFamily="Arial Rounded MT"/>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
所有关于WP7分辨率的讨论= 800x480.我可以创建超过480并且它出现在模拟器中 - 我只是不知道这是否意味着我确实拥有比宣布更多的屏幕空间或者我的模拟器对我说谎.
将Silverlight应用程序置于仅横向模式(SupportedOrientations="Landscape" Orientation="Landscape"in <phone:PhoneApplicationPage />)中.我的宽度为800,高度为480(d:DesignWidth="800" d:DesignHeight="480").
我更改d:DesignHeight为d:DesignHeight="496"然后添加为<phone:PhoneApplicationPage />标记内唯一的XAML :
<Grid x:Name="LayoutRoot" Background="Blue">
<TextBlock Text="bottom" VerticalAlignment="Bottom"></TextBlock>
</Grid>
Run Code Online (Sandbox Code Playgroud)
看那边?我的"底部"文字仍显示在屏幕上.有什么想法吗?
这两个Office Open XML片段之间有什么区别?
<c r="A2" t="str">
<v>btyler</v>
</c>
Run Code Online (Sandbox Code Playgroud)
和
<c r="B2">
<is><t>btyler</t></is>
</c>
Run Code Online (Sandbox Code Playgroud)
注意:我根据规范手动创建的第二个示例,第一个是来自实际的Excel工作簿.
双方似乎都有效,并根据规范几乎是相同的,所以我不知道为什么会有t="str"时<is>似乎做同样的事情.Excel何时选择使用其中一个?
c# ×5
.net ×3
excel ×3
openxml ×3
openxml-sdk ×2
powerpoint ×2
wpf ×2
aspose ×1
audio ×1
c#-3.0 ×1
excel-2007 ×1
fonts ×1
pcm ×1
silverlight ×1
vsto ×1
xlsx ×1