word突然间无法使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了word突然间无法使用相关的知识,希望对你有一定的参考价值。
前两天还可以用的,突然间就不可以用了 ,我用的是office2003,系统是vista.出现的错误提示是:
问题签名:
问题事件名称: APPCRASH
应用程序名: WINWORD.EXE
应用程序版本: 11.0.8169.0
应用程序时间戳: 465f2a40
故障模块名称: mso.dll
故障模块版本: 11.0.8172.0
故障模块时间戳: 46771b00
异常代码: c0000005
异常偏移量: 000707ff
OS 版本: 6.0.6001.2.1.0.768.2
区域设置 ID: 2052
有关该问题的其他信息:
LCID: 2052
Brand: Office11Crash
skulcid: 2052
阅读隐私声明:
http://go.microsoft.com/fwlink/?linkid=50163&clcid=0x0804
哪位高手能帮忙?急啊!!!
我的是全安装的,重装了,问题依然是这样!
不过还是建议你安装2007版的,毕竟这个版本和VISTA的兼容性比较好!~祝你好运!~ 参考技术A 你的OFFICE是 精简的还是安装的,如果是精简的换成全安装的
无法从 Word (Apache POI) 读取双向字符串
【中文标题】无法从 Word (Apache POI) 读取双向字符串【英文标题】:bidi string can't be read from Word (Apache POI) 【发布时间】:2021-09-26 06:11:06 【问题描述】:在用序列包装后,我正在使用 Apache POI 将双向字符串写入 MS Word 文件
aString = "\u202E" + aString + "\u202C";
文本在文件中正确呈现,当我再次检索字符串时读取正常。但是,如果我以任何方式修改文件,突然间,读取该字符串会使用 isBlank() 返回 true。
提前感谢您的任何建议/帮助!
【问题讨论】:
您从Word
阅读的内容到底如何?您确定您阅读了正确的文本吗?有时Word
会出于非常奇怪的原因在文本运行中拆分文本。有时也会出现空文本运行。如果启用了拼写检查并且文本是Word
没有为拼写检查设置的语言,那么有时每个包含字母的空格都将在单独的文本运行中。如果您随后得到一个仅包含空格的文本运行,则 String.isBlank()
将为真。
@AxelRichter,哦,嗨!是你指导我解决编码问题。我确实想到了多次运行(和段落)的可能性。但是调用 getRuns().size() 会返回 1。奇怪的是,只要我不手动修改 MS Word 文件,字符串的读取效果就非常好。一个字母和程序写的所有文本都变为空。它存在并且从文件中可见,但程序无法再读取它!
【参考方案1】:
当Microsoft Word
以Office Open XML
*.docx
格式存储双向文本时,它有时会使用特殊的文本运行元素w:bdo
(bi d方向性方向)。 Apache poi
直到现在才读取这些元素。所以如果XWPFParagraph
包含这样的元素,那么paragraph.getText()
将返回一个空字符串。
可以使用org.apache.xmlbeans.XmlCursor
真正从所有XWPFParagraph
s 中获取所有文本,如下所示:
import java.io.FileInputStream;
import org.apache.poi.xwpf.usermodel.*;
import org.apache.xmlbeans.XmlCursor;
public class ReadWordParagraphs
static String getAllTextFromParagraph(XWPFParagraph paragraph)
XmlCursor cursor = paragraph.getCTP().newCursor();
return cursor.getTextValue();
public static void main(String[] args) throws Exception
XWPFDocument document = new XWPFDocument(new FileInputStream("WordDocument.docx"));
for (XWPFParagraph paragraph : document.getParagraphs())
System.out.println(paragraph.getText()); // will not return text in w:bdo elements
System.out.println(getAllTextFromParagraph(paragraph)); // will return all text content of paragraph
【讨论】:
完美解决方案!谢谢!我应该使用 XmlCursor 来读取字符串并完全停止使用 paragraph.getText() 吗?以上是关于word突然间无法使用的主要内容,如果未能解决你的问题,请参考以下文章