精华内容
下载资源
问答
  • word文档有字节但没有内容
    千次阅读
    2021-06-10 16:57:02

    用javascript打开word文档的方法

    首先我们新建一个html文件,并且写一个FileUpLoad以及button控件。

    代码如下:

    复制代码 代码如下:

    fileUpload

    然后,在写一个javascript OpenFile方法。

    代码如下:

    复制代码 代码如下:

    function OpenFile()

    {

    if (document.getElementById("flUpload").value.toUpperCase().indexOf(".XLS") != -1)

    {

    var objExcel;

    objExcel = new ActiveXObject("Excel.Application");

    objExcel.Visible = true;

    objExcel.Workbooks.Open(document.getElementById("flUpload").value);

    }

    else if (document.getElementById("flUpload").value.toUpperCase().indexOf(".DOC") != -1)

    {

    var objDoc;

    objDoc = new ActiveXObject("Word.Application");

    objDoc.Visible = true;

    objDoc.Documents.Open(document.getElementById("fileUpload").value);

    }

    else

    {

    alert("Please select Word/Excel file only");

    return false;

    }

    }

    OK。然后 在IE中就能先选入一个word文档,然后点open,就可以成功打开word文档了。

    是不是很简单,貌似只能在IE中使用。

    【用javascript打开word文档的方法】相关文章:

    更多相关内容
  • 字节流生成word文档

    2019-05-04 02:05:14
    word_zip流传输处理.rar,ImageUploadControllerTest.java,pom.xml,HoubankCallBackController.java
  • 如何安全找回丢失数据的方法 1. 下载并安装B计划数据恢复软件。 2.... 深度扫描是绕过文件系统直接从硬盘、U盘、SD卡等设备底层恢复数据,因此使用深度恢复能找回更多... 完成数据恢复后,打开保存文档,查看保存数据。

    如何安全找回丢失数据的方法

    1. 下载并安装B计划数据恢复软件。

    2. 运行恢复软件,点击“深度扫描”。

    深度扫描是绕过文件系统直接从硬盘、U盘、SD卡等设备底层恢复数据,因此使用深度恢复能找回更多完整数据。

    同时我们要搞清楚物理硬盘和逻辑硬盘的区别。物理硬盘是硬件实体,如果你电脑上只有一块硬盘,那么他的物理硬盘只有一个;逻辑硬盘是指人为在物理上划出分区以方便存取,管理里面的文件。我们使用软件恢复数据最好对物理硬盘进行恢复,这样恢复出来的数据更加完整。

    3. 选择需要恢复的物理盘,如果是U盘请先插在电脑上,SD卡类先放进读卡器在插在电脑上,点击“下一步”。

    4. 数据恢复软件开始扫描硬盘。

    5. 深度扫描完成后,点击“文件类型”。根据文件类型可以快速找回需要的数据,节省很多时间。

    注 :最好保存扫描结果,以便以后调用。保存位置一定不要设置在丢失文件同一个盘符中,以免数据再次被覆盖,导致数据恢复不完整。

    6. 点击开始恢复按钮。

    7. 设置数据恢复保存地址,然后点击确认。保存位置一定不要设置在丢失文件同一个盘符中。

    8. 完成数据恢复后,打开保存文档,查看保存数据。

    展开全文
  • 就是,word文档,写完了,保存 没有任何错误提示,保存关闭后,文档大小变成了0字节,里边的东西都没有了 这种情况可以恢复吗 重新打开这个文档,也没有任何提示恢复的信息 在最近使用的目录里也没有缓存文件之类的,想...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看... import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.uti...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    package com.xiaoye5; import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileNotFoundException;

    import java.io.IOException;

    import java.io.InputStream;

    import java.util.Scanner;

    import java.util.concurrent.BlockingQueue;

    public class SearchRunable implements Runnable {

    BlockingQueue queue;

    String key;

    File file;

    public SearchRunable(String key,BlockingQueue queue){

    this.key=key;

    this.queue=queue;

    }

    public void run() {

    Boolean b=false;

    while (!b) {

    try {

    file =(File) queue.take();

    } catch (InterruptedException e) {

    e.printStackTrace();

    }

    if(file==AddRunable.file2){

    b=true;

    break;

    }

    else

    {

    try {

    searchfile(file);

    } catch (FileNotFoundException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    }

    }

    private void searchfile(File file2) throws FileNotFoundException {

    String s;

    int line=0;

    Scanner reader=new Scanner(new FileInputStream(file2));

    while(reader.hasNext()){

    line++;

    s=reader.nextLine();

    if(s.contains(key)){

    System.out.println("file所在的目录是:"+file2.getPath()+"所在的文件名是:"+file2.getName()+"所在行是:"+line);

    }

    }

    }

    }

    展开全文
  • Java读取word文档解决方案

    千次阅读 2021-03-03 12:49:33
    java读取word文档时,虽然网上介绍了很多插件poi、java2Word、jacob、itext等等,poi无法读取格式(新的API估计行好像还在处于研发阶段,不太稳定,做项目不太敢用);java2Word、jacob容易报错找不到注册,比较诡异,...

    java读取word文档时,虽然网上介绍了很多插件poi、java2Word、jacob、itext等等,poi无法读取格式(新的API估计行好像还在处于研发阶段,不太稳定,做项目不太敢用);java2Word、jacob容易报错找不到注册,比较诡异,我曾经在不同的机器上试过,操作方法完全一致,有的机器不报错,有的报错,去他们论坛找高人解决也说不出原因,项目部署用它有点玄;itxt好像写很方便但是我查了好久资料没有见到过关于读的好办法。经过一番选择还是折中点采用rtf最好,毕竟rtf是开源格式,不需要借助任何插件,只需基本IO操作外加编码转换即可。rtf格式文件表面看来和doc没啥区别,都可以用word打开,各种格式都可以设定。

    ----- 实现的功能:读取rtf模板内容(格式和文本内容),替换变化部分,形成新的rtf文档。

    ----- 实现思路:模板中固定部分手动输入,变化的部分用$info$表示,只需替换$info$即可。

    1、采用字节的形式读取rtf模板内容

    2、将可变的内容字符串转为rtf编码

    3、替换原文中的可变部分,形成新的rtf文档

    主要程序如下:

    /**

    * 将制定的字符串转换为rtf编码

    */

    public String bin2hex(String bin) {

    char[] digital = "0123456789ABCDEF".toCharArray();

    StringBuffer sb = new StringBuffer("");

    byte[] bs = bin.getBytes();

    int bit;

    for (int i = 0; i < bs.length;i++) {

    bit = (bs[i] & 0x0f0) >> 4;

    sb.append("\\'");

    sb.append(digital[bit]);

    bit = bs[i] & 0x0f;

    sb.append(digital[bit]);

    }

    return sb.toString();

    }

    /**

    * 字节形式读取rtf模板内容

    */

    public String readByteRtf(InputStream ins, String path){

    String sourcecontent = "";

    try{

    ins = new FileInputStream(path);

    byte[] b = new byte[1024];

    if (ins == null) {

    System.out.println("源模板文件不存在");

    }

    int bytesRead = 0;

    while (true) {

    bytesRead = ins.read(b, 0, 1024); // return final read bytes counts

    if(bytesRead == -1) {// end of InputStream

    System.out.println("读取模板文件结束");

    break;

    }

    sourcecontent += new String(b, 0, bytesRead); // convert to string using bytes

    }

    }catch(Exception e){

    e.printStackTrace();

    }

    }

    以上为核心代码,剩余部分就是替换,从新组装java中的String.replace(oldstr,newstr);方法可以实现,在这就不贴了。源代码部分详见附件。运行源代码前提:

    c盘创建YQ目录,将附件中"模板.rtf"复制到YQ目录之下,运行OpreatorRTF.java文件即可,就会在YQ目录下生成文件名如:21时15分19秒_cheney_记录.rtf 的文件。。。。。文件名是在程序中指定的呵呵。由于是由商业软件中拆分出的demo所以只是将自己原来的写的程序分离,合并在一个java文件中,所以有的方法在示例程序中看似多余,没有必要那么麻烦。

    对于替换部分需要循环的特例程序,我不好拆分,里面很容易暴露商业软件的东西,所以就不贴了,有需要的话可以加我QQ或者MSN,一起讨论呵呵。附件传了半天也没有传上去,没有办法只有这样搞了呵呵。模板文件附件无法存放,需要的直接联系呵呵。其实直接看以下的java程序部分,就会明白

    /**

    * 以下部分是java源代码

    */

    package com;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileWriter;

    import java.io.IOException;

    import java.io.InputStream;

    import java.io.PrintWriter;

    import java.text.SimpleDateFormat;

    import java.util.Date;

    public class OperatorRTF {

    /**

    * 字符串转换为rtf编码

    * @param content

    * @return

    */

    public String strToRtf(String content){

    char[] digital = "0123456789ABCDEF".toCharArray();

    StringBuffer sb = new StringBuffer("");

    byte[] bs = content.getBytes();

    int bit;

    for (int i = 0; i < bs.length; i++) {

    bit = (bs[i] & 0x0f0) >> 4;

    sb.append("\\'");

    sb.append(digital[bit]);

    bit = bs[i] & 0x0f;

    sb.append(digital[bit]);

    }

    return sb.toString();

    }

    /**

    * 替换文档的可变部分

    * @param content

    * @param replacecontent

    * @param flag

    * @return

    */

    public String replaceRTF(String content,String replacecontent,int flag){

    String rc = strToRtf(replacecontent);

    String target = "";

    /*if(flag==0){

    target = content.replace("$time$",rc);

    }*/

    if(flag==0){

    target = content.replace("$timetop$",rc);

    }

    if(flag==1){

    target = content.replace("$info$",rc);

    }

    if(flag==2){

    target = content.replace("$idea$",rc);

    }

    if(flag==3){

    target = content.replace("$advice$",rc);

    }

    if(flag==4){

    target = content.replace("$infosend$",rc);

    }

    return target;

    }

    /**

    * 获取文件路径

    * @param flag

    * @return

    */

    public String getSavePath() {

    String path = "C:\\YQ";

    File fDirecotry = new File(path);

    if (!fDirecotry.exists()) {

    fDirecotry.mkdirs();

    }

    return path;

    }

    /**

    * 半角转为全角

    */

    public String ToSBC(String input){

    char[] c = input.toCharArray();

    for (int i = 0; i < c.length; i++){

    if (c[i] == 32){

    c[i] = (char) 12288;

    continue;

    }

    if (c[i] < 127){

    c[i] = (char) (c[i] + 65248);

    }

    }

    return new String(c);

    }

    public void rgModel(String username, String content) {

    // TODO Auto-generated method stub

    /*  构建生成文件名 targetname:12时10分23秒_username_记录.rtf */

    Date current=new Date();

    SimpleDateFormat sdf=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    String targetname = sdf.format(current).substring(11,13) + "时";

    targetname += sdf.format(current).substring(14,16) + "分";

    targetname += sdf.format(current).substring(17,19) + "秒";

    targetname += "_" + username +"_记录.rtf";

    /* 字节形式读取模板文件内容,将结果转为字符串 */

    String strpath = getSavePath();

    String sourname = strpath+"\\"+"模板.rtf";

    String sourcecontent = "";

    InputStream ins = null;

    try{

    ins = new FileInputStream(sourname);

    byte[] b = new byte[1024];

    if (ins == null) {

    System.out.println("源模板文件不存在");

    }

    int bytesRead = 0;

    while (true) {

    bytesRead = ins.read(b, 0, 1024); // return final read bytes counts

    if(bytesRead == -1) {// end of InputStream

    System.out.println("读取模板文件结束");

    break;

    }

    sourcecontent += new String(b, 0, bytesRead); // convert to string using bytes

    }

    }catch(Exception e){

    e.printStackTrace();

    }

    /* 修改变化部分 */

    String targetcontent = "";

    /**

    * 拆分之后的数组元素与模板中的标识符对应关系

    * array[0]:timetop

    * array[1]:info

    * array[2]:idea

    * array[3]:advice

    * array[4]:infosend

    */

    String array[] = content.split("~");

    /**

    * 2008年11月27日:更新模板之后时间无需自动填充

    */

    /*String nowtime = sdf.format(current).substring(0,4) + "年";

    nowtime += sdf.format(current).substring(5,7) + "月";

    nowtime += sdf.format(current).substring(8,10) + "日";*/

    for(int i=0;i

    /*if(i==0){

    targetcontent = documentDoc.replaceRTF(sourcecontent,nowtime,i);

    }else{

    targetcontent = documentDoc.replaceRTF(targetcontent,array[i-1],i);

    }*/

    if(i==0){

    targetcontent = replaceRTF(sourcecontent, array[i], i);

    }else{

    targetcontent = replaceRTF(targetcontent, array[i], i);

    }

    }

    /* 结果输出保存到文件 */

    try {

    FileWriter fw = new FileWriter(getSavePath()+"\\" + targetname,true);

    PrintWriter out = new PrintWriter(fw);

    if(targetcontent.equals("")||targetcontent==""){

    out.println(sourcecontent);

    }else{

    out.println(targetcontent);

    }

    out.close();

    fw.close();

    System.out.println(getSavePath()+"  该目录下生成文件" + targetname + " 成功");

    } catch (IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    OperatorRTF oRTF = new OperatorRTF();

    /**

    * 被替换内容以"~"符号分割,处理的时候将其拆分为数组即可

    */

    String content = "2008年10月12日9时-2008年10月12日6时~我们参照检验药品的方法~我们参照检验药品的方法~我们参照检验药品的方法~我们参照检验药品的方法";

    oRTF.rgModel("cheney",content);

    }

    }

    展开全文
  • 【操作word】Java + POI导出富文本的内容word文档

    千次阅读 热门讨论 2022-01-13 15:57:33
    这里先给出用于测试的富文本内容数据: 如何将富文本内容导出到word文档 采用poi将富文本内容导出到word文档 这是背景颜色的div内容 这是base64编码后的图片 首先将图片转换成base64编码,然后把编码赋值到上面的...
  • 本地磁盘也就是电脑上的c盘d盘ef盘等,这些磁盘多多少少大家都会放一些文件数据在里面,它的容量也不会是0字节,但是还是网友表示,遇到了打不开本地磁盘,磁盘属性显示磁盘可用空间为0字节,已用空间也为0字节,...
  • Java 合并Word文档

    千次阅读 2022-04-21 19:44:24
    下面,就将以上文档操作需求,通过Java程序来实现Word文档合并。合并文档可以分为2种方法来进行: 方法 1. 加载两个文档,将文档2插入到文档1。使用该方法合并文档时,被合并文档的内容默认从新的一页开始显示。 ...
  • 大学 C语言知识点 1程序中基本的 控制结构 是三种 : 顺序结构 选择结构 ( 分支结构 ) 循环结 构 2读程序都要从 main) 入口 , 然后从最上面顺序往下读 ( 碰到循环做循环 , 碰到选择做选择 ) 且只有一个 main 函数 3...
  • java读取word文档里面的内容(包括doc和docx格式)

    千次阅读 热门讨论 2019-11-30 20:19:47
    java读取word文档里面的内容(包括doc和docx格式) java读取word文档里面的内容(包括doc和docx格式),使用POI架包 使用的POI架包如下 poi-3.16.jar poi-examples-3.16.jar poi-excelant-3.16.jar poi-ooxml-3.16.jar ...
  • 今天写了一下午的论文,用墨迹公式一直再插公式,感觉可能兼容性没有特别好,在我ctrl+s保存操作后瞬间word闪退,再打开时竟然是空白文件,并且文件的修改日期变成了刚创建文件的时候???? 一下子人都傻了,写了...
  • Word文档如何让不同字数对齐

    千次阅读 2021-01-12 08:41:27
    Word文档每行字数对齐在合同上我们用的是最多的,比如这样的文字的两个字,的四个字,不对齐的话看着实在是不好看,的朋友手动敲空格强制对齐,我们今天来学习几种简单的方法。一、文字对齐1.分散对齐在Word中...
  • 字(word)、字节(byte)、位(bit)

    千次阅读 2018-09-17 23:14:28
    word : 1字=2字节(1 word = 2 byte ) 字长是指字的长度 字节byte :1字节=8位(1 byte = 8 bit) 位 bit 一个字的字长为16 一个字节的字长是8 波特率bps 是 bits per second 的简称。一般数据机及网络通讯的传输...
  • 前些天需求要完成导出word文档功能,基础数据导出word文档,网上也能搜到很多源代码,但是我这边要求是服务器上的图片(只给出服务器图片路径,从服务器得到图片),前前后后加起来就不好内容了,网上并没有找到处理这种的...
  • 之前的一个需求写成了一个依赖库,主要就是实现可以在app里打开word文档,不用去调一些其他的wps等等的第三方软件。先提供一个其他思路,集成腾讯TBS,大厂的SDK还是不错的,效果就自己试试吧。 我的依赖库是基于...
  • WORD占2个字节,DWORD占4个字节

    千次阅读 2019-12-26 15:20:00
    数据类型 含义 长度 BYTE unsigned char 1 WORD unsigned short 2 DWORD unsingned long 4
  • 基本思路,就是先去找个爬虫框架把链接网页中内容和图片写到word中,后面在将1万个链接通过位除余分组,开几个线程去写。 1.导入maven依赖jar包 <dependency> <groupId>org.jsoup&l...
  • Qt读取word文档

    万次阅读 2018-07-22 19:52:44
    为了记录一下 CWordOperate::CWordOperate( const QString filename,QObject *parent /*= ... m_word = new QAxWidget("Word.Application"); //m_doc-&gt;generateDocumentation (); //导出支持...
  • 欢迎加入Unity业内qq交流群:956187480 一:初始化路径 private string path; string path_Pic; string path_Pic_R; private XWPFDocument doc = new XWPFDocument();... Debug.Log("导出Word成功:" + R
  • Java将图片放入word文档中

    千次阅读 2020-10-16 10:48:28
    1.引入依赖包(maven项目) <!-- ... <!--将照片写入word文档中的依赖--> <dependency> <groupId>itext</groupId> <artifactId>itext</artifactId>
  • 精品word 精品word文档值得下载值得拥有 精品word 精品word文档值得下载值得拥有 精品word 精品word文档值得下载值得拥有 精品 word 精品 word 文档 值得下载 值得拥有 K字节含义以及SDH字节总结可打印放在位置上 KK...
  • 一、读取word文档并写入生成新的word文档: 1.使用工具包:poi-版本号.jar poi-scratchpad-版本号-beta5.jar或poi-scratchpad-版本号.jar 2.代码: import java.io.Byt...
  • 本压缩包包含在Myeclipse下运行的源码,以及word文档内容涉及IO流的简单使用,实现两个文件的复制,以及多文件复制。
  • 使用poi组件自动填充模板word内容和图片.
  • vue+blob,文件流转word文档并实现下载功能,解决vue中document.createElement(‘a’)报错is not a function vue中一般来说是不建议操作dom的,要用blob实现文件下载的话,网上全是需要对dom进行操作的,复制粘贴...
  • 1、【Java】使用freemarker模板技术导出word main方法测试 package com.havenliu.document; import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.Map; public class ...
  • 一、制作word模版,${xxxx}是一会要替换的内容 二、添加poi所需要的jar包文件,我用的maven对jar包进行管理 三、由于poi自身bug,会出现图片无法显示问题,这里需要自定义一个类继承XWPFDocument类,接下来使用的都...
  • itext生成word文档,包含图片,其中图片直接读取路径的,也流直接转字节生成的图片
  • Java将数据写入word文档(.doc)

    千次阅读 2017-07-05 12:01:49
    本文主要讲了如何用Java将数据写入word文档:要用到poi包中的用HWPFDocument类。先是详细说明了将数据写入word文档的各个步骤,然后用代码实现。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 52,912
精华内容 21,164
热门标签
关键字:

word文档有字节但没有内容