标签: openxml

在未安装MS Word的情况下打印OOXML文档

有没有办法在没有安装MS Word的情况下打印OOXML文档(.docx文件)?

它通过MS Word界面很好地工作,但我需要找到一种方法在没有安装MS Word的服务器上使用它.我一直在挖掘API并且没有找到任何明显的东西,所以我倾向于认为没有办法.是这样的吗?

编辑:德文的答案基本上就是我所理解的情况.我应该提到我正在使用.NET框架.所以我想知道是否有一个.NET库可以处理一个docx文件进行打印?我看到当DefaultPrinterQueue在一个LocalPrintServer(在System.Printing命名空间中)添加一个作业时,它可以处理一个XPS文档.所以也许这就是要走的路.

.net docx openxml

5
推荐指数
1
解决办法
5411
查看次数

从模板创建PowerPoint 2007演示文稿

我需要使用Open XML Format SDK 2.0从模板创建PowerPoint 2007演示文稿.模板必须由客户提供,并用于单独的布局样式(字体,背景颜色或图像,......).它需要包含两个预定义的幻灯片:

  • 文字幻灯片
  • 图片幻灯片

应用程序现在应该创建模板文件的副本,创建文本和图像幻灯片的多个副本,并用一些内容替换内容占位符.

我已经从Microsoft找到了一些代码片段来编辑幻灯片的标题,删除幻灯片或替换幻灯片上的图像.但我没有找到如何创建现有幻灯片的副本.也许有人可以帮我这个.

.net c# powerpoint openxml presentationml

5
推荐指数
1
解决办法
8880
查看次数

如何将OpenXML放到剪贴板上以便粘贴到Excel中?

我使用Microsoft的DocumentFormat.OpenXML库生成OpenXml.我想弄清楚如何将这个文档放到我的剪贴板中,这样我就可以将我的数据粘贴到Excel中(好像它是从Excel复制的).当我从Excel中复制时,我能够看到来自Excel的OpenXml格式化数据.我需要反过来,复制出WPF应用程序,并使用高级Excel格式粘贴到Excel(因此需要OpenXML).

这是我到目前为止的一小部分:

MemoryStream documentStream = new MemoryStream();
  SpreadsheetDocument spreadsheet = SpreadsheetDocument.Create(documentStream, SpreadsheetDocumentType.Workbook, true);

  // create the workbook
  spreadsheet.AddWorkbookPart();
  Stream workbookStream = spreadsheet.WorkbookPart.GetStream();
  spreadsheet.WorkbookPart.Workbook = new Workbook();     // create the worksheet
  spreadsheet.WorkbookPart.AddNewPart<WorksheetPart>();
  spreadsheet.WorkbookPart.WorksheetParts.First().Worksheet = new Worksheet();

  ...

  const string SPREADSHEET_FORMAT = "XML Spreadsheet";
  Clipboard.SetData(SPREADSHEET_FORMAT, clipboardData);
Run Code Online (Sandbox Code Playgroud)

c# excel clipboard openxml

5
推荐指数
1
解决办法
3130
查看次数

如何在不安装Excel的情况下将DBGrid导出为OOXML格式(Excel 2007/2010格式)?

我有一个Delphi 2007 DBGrid,我想让用户以更新的Excel格式(OOXML)保存,但我的标准是用户不需要安装Excel.有人知道任何组件已经这样做了吗?是的,我已经搜索过了,但我还没有找到任何东西.

xml delphi excel openxml delphi-2007

5
推荐指数
1
解决办法
1256
查看次数

Excel Open XML错误:创建简单示例时"找到不可读的内容"

当我尝试打开由以下代码创建的文档时,我收到模糊的"excel发现不可读的内容"错误:

public void GenerateWorkbookFromDB()
{
    //Make a copy of the template file
    File.Copy(HttpContext.Current.Server.MapPath("ReportTemplate/test.xlsx"), HttpContext.Current.Server.MapPath("Reports/test.xlsx"), true);

    //Open up the copied template workbook
    using (SpreadsheetDocument myWorkbook = SpreadsheetDocument.Open(HttpContext.Current.Server.MapPath("Reports/test.xlsx"), true))
    {
        WorkbookPart workbookPart = myWorkbook.WorkbookPart;
        WorksheetPart worksheetPart = workbookPart.WorksheetParts.First();
        string origninalSheetId = workbookPart.GetIdOfPart(worksheetPart);

        WorksheetPart replacementPart = workbookPart.AddNewPart<WorksheetPart>();
        string replacementPartId = workbookPart.GetIdOfPart(replacementPart);

        OpenXmlReader reader = OpenXmlReader.Create(worksheetPart);
        OpenXmlWriter writer = OpenXmlWriter.Create(replacementPart);

        Row r = new Row();
        Cell c = new Cell();
        CellValue v = new CellValue();
        v.Text = "test";
        c.Append(v);

        while (reader.Read())
        {
            if (reader.ElementType …
Run Code Online (Sandbox Code Playgroud)

c# asp.net excel openxml openxml-sdk

5
推荐指数
2
解决办法
2万
查看次数

如何使用c#将JQgrid数据导出到Excel?

我已经对此做了一些研究,但大多数解决方案都是针对MVC ..我只是使用Asp.net 3.5如何在按钮点击时实现这一点..我应该包括任何库或其他任何东西..请帮助..

c# asp.net excel jqgrid openxml

5
推荐指数
1
解决办法
9686
查看次数

如何使用OpenXML从段落中查找页码?

对于Paragraph对象,如何使用Open XML SDK 2.0 for Microsoft Office确定它所在的页面?

document ms-word openxml paragraph page-numbering

5
推荐指数
1
解决办法
5375
查看次数

OpenXML Spreadsheet-在写入单元格值时保留值之前或之后的空间

我正在使用OPENXML SDK 2.0来传输电子表格文件.源数据来自数据表,并使用openxml将其写入Spreadsheet.如果数据表的列数据中有一个具有"Treshold%"(此文本上面有选项卡空间)并且同样写入excel但是在excel单元格中将其写入"Treshold%"并删除标签空间.

我使用的代码如下.使用workSheetWriter.PasteTextworkSheetWriter.PasteValue方法.

WorksheetWriter workSheetWriter = new WorksheetWriter(spreadSheet, workSheet);

int intValue = 0;
if (strValue.Contains("$"))
{
    strValue = strValue.Replace("$", "");
    strValue = strValue.Replace(",", "");

    workSheetWriter.PasteValue(cellLocation, strValue, CellValues.Number);
}
else if (int.TryParse(strValue, out intValue))
{
    workSheetWriter.PasteValue(cellLocation, strValue, CellValues.Number);
}
else if (string.IsNullOrEmpty(strValue))
{
    workSheetWriter.PasteText(cellLocation, strValue);
}
else
{
    workSheetWriter.PasteText(cellLocation, strValue);
}
Run Code Online (Sandbox Code Playgroud)

请帮忙.如何将开头的标签空间(Treshold%)中的值写入excel单元格中的格式相同?

c# openxml spreadsheetml openxml-sdk

5
推荐指数
1
解决办法
2398
查看次数

Word Addin中的IsolatedStorageException

我使用功能区创建了一个Word加载项项目,当我想保存文档时,在使用OpenXml进行多次修改后,会引发异常.

Dim MainXMLDoc As New XmlDocument()
Using WordDoc As WordprocessingDocument = WordprocessingDocument.Open(DocPath, True)

Dim mainPart As MainDocumentPart = WordDoc.MainDocumentPart
If Not mainPart Is Nothing Then

    MainXMLDoc.Load(mainPart.GetStream())
    EXmlDocument.XMLDoc = Nothing
    EXmlDocument.XMLDoc = MainXMLDoc
    EXmlDocument.GetWordDocIds()
    '..............
end if

'........
Dim stream As IO.Stream
stream = mainPart.GetStream(FileMode.Create, FileAccess.Write)

    MainXMLDoc.Save(stream) '-----> exception
Run Code Online (Sandbox Code Playgroud)

并且异常消息是:

Interception de System.IO.IsolatedStorage.IsolatedStorageException
Message =无法确定域的标识.Source = mscorlib StackTrace:System.IO.IsolatedStorage.IsolatedStorage._GetAccountingInfo(证据证据,Type evidenceType,IsolatedStorageScope fAssmDomApp,Object&oNormalized)在System.IO.IsolatedStorage.IsolatedStorage.GetAccountingInfo(证据证据,Type evidenceType,IsolatedStorageScope fAssmDomApp,String&typeName) ,字符串&实例名)在System.IO.IsolatedStorage.IsolatedStorage._InitStore(IsolatedStorageScope范围,循证domainEv,类型domainEvidenceType,证据assemEv,类型assemblyEvidenceType,证据appEv,类型appEvidenceType)在System.IO.IsolatedStorage.IsolatedStorage.InitStore(IsolatedStorageScope范围,在MS.Internal.IO.Packaging的MS.Internal.IO.Packaging.PackagingUtilities.ReliableIsolatedStorageFileFolder.GetCurrentStore()上的System.IO.IsolatedStorage.IsolatedStorageFile.GetStore(IsolatedStorageScope范围,类型domainEvidenceType,类型assemblyEvidenceType)中键入domainEvidenceType,Type assemblyEvidenceType) .PackagingUtilities.ReliableIs olatedStorageFileFolder..ctor()位于MS.Internal.IO.Package.Packaging.PackagingUtilities.GetDefaultIsolatedStorageFile(),位于MS.Internal.IO.Packaging.SparseMemoryStream的MS.Internal.IO.Packaging.PackagingUtilities.CreateUserScopedIsolatedStorageFileStreamWithRandomName(Int32 retryCount,String&fileName). SwitchModeIfNecessary()在MS.Internal.IO.Packaging.SparseMemoryStream.Write(字节[]缓冲液,的Int32偏移的Int32计数)在MS.Internal.IO.Packaging.CompressEmulationStream.Write(字节[]缓冲液,的Int32偏移的Int32计数)在MS.Internal.IO.Packaging.CompressStream.Write(字节[]缓冲液,的Int32偏移的Int32计数)在MS.Internal.IO.Zip.ProgressiveCrcCalculatingStream.Write(字节[]缓冲液,的Int32偏移的Int32计数)在MS.Internal.IO.Zip.ZipIOModeEnforcingStream.Write(字节[]缓冲液,的Int32偏移的Int32计数)在System.IO.StreamWriter.Flush(布尔flushStream,布尔flushEncoder)在System.IO.StreamWriter.Write(char值) System.Xml.Xm上的System.Xml.XmlTextWriter.Indent(Boolean beforeEndElement)lTextWriter.AutoComplete(令牌标记)在System.Xml.XmlTextWriter.WriteStartElement(字符串前缀,字符串的localName,串NS)在System.Xml.XmlDOMTextWriter.WriteStartElement(字符串前缀,字符串的localName,串NS)在System.Xml.XmlElement. WriteStartElement(XmlWriter的重量)在System.Xml.XmlElement.WriteElementTo(XmlWriter的作家,XmlElement的E)在System.Xml.XmlElement.WriteTo(XmlWriter的重量)在System.Xml.XmlDocument.WriteContentTo(XmlWriter的XW)在System.Xml.XmlDocument System.Xml.XmlDocument.Save(Stream outStream)中的.WriteTo(XmlWriter w)InnerException:

文档大小大于1 MB时出现此问题.经过多次搜索后,"保存"操作是通过隔离存储进行的,解决方案是:

  • 使用Clickonce安装
  • 创建新域
  • 修改注册表.

但对于这个项目,我不能使用ClickOnce,我无法修改注册表.

所以我对源代码进行了更改,以创建一个新域. …

vb.net vsto isolatedstorage openxml

5
推荐指数
2
解决办法
834
查看次数

为什么在此示例中附加AutoFilter会破坏我的excel文件?

您好我使用以下方法来应用自动筛选:

public static void ApplyAutofilter(string fileName, string sheetName, string reference)
        {
            using (SpreadsheetDocument document = SpreadsheetDocument.Open(fileName, true))
            {
                IEnumerable<Sheet> sheets = document.WorkbookPart.Workbook.GetFirstChild<Sheets>().Elements<Sheet>().Where(s => s.Name == sheetName);
                var arrSheets = sheets as Sheet[] ?? sheets.ToArray();

                string relationshipId = arrSheets.First().Id.Value;
                var worksheetPart = (WorksheetPart)document.WorkbookPart.GetPartById(relationshipId);

                var autoFilter = new AutoFilter() { Reference = reference };
                worksheetPart.Worksheet.Append(autoFilter);

                worksheetPart.Worksheet.Save();
            }
        }
Run Code Online (Sandbox Code Playgroud)

我有这个简单的Excel表格:

在此输入图像描述

问题在于我将此方法称为:

ApplyAutofilter(@".\Test.xlsx", "Foo", "A0:A200");
Run Code Online (Sandbox Code Playgroud)

要么

ApplyAutofilter(@".\Test.xlsx", "Foo", "A1:A200");
Run Code Online (Sandbox Code Playgroud)

在我尝试打开之后,未应用过滤器并且文件已损坏:

在此输入图像描述

问题:有没有想过如何将这个自动加载器应用到excel表而不会破坏它?

.net c# excel openxml openxml-sdk

5
推荐指数
1
解决办法
2961
查看次数