就是读不出来啊。。word控件导入的问题
using System;
using System.Collections.Generic;
using System.Text;
using AxDSOFramer;
using System.IO;
namespace RMS_Reader.Reader
{
    class cOfficeReader : iReader
    {
        private AxFramerControl office = new AxFramerControl();
        private byte[] officeStream = null;
        private FileInfo info = new FileInfo();            // 文档信息
        FileStream fs;        #region iDocuments Members        public System.Windows.Forms.Control GetReaderControl()
        {
            return office;
        }        public bool InitReader()
        {
            //            office.Toolbars = false;
            office.MenuAccelerators = false;
            office.Menubar = false;
            office.Titlebar = false;            return true;
        }        public bool OpenFile(string filePath)
        {
            //加载文件
            try
            {
                office.Open(filePath);
                office.Activate();
            }
            catch
            {
                return false;
            }            // 获取文档信息
            info.fileType = System.IO.Path.GetExtension(filePath);
            info.filePath = filePath;            return true;
        }        public bool Save()
        {
            try
            {
                office.Save();
            }
            catch
            {
                return false;
            }            return true;
        }        public void SaveAs(string filePath)
        {
            GetFileContent();            // 打开文件
            FileStream ofs = new FileStream(filePath, FileMode.Create);            // 保存文件
            ofs.Seek(0, SeekOrigin.Begin);// Move file pointer to beginning of file.
            ofs.Write(officeStream, 0, officeStream.Length);            ofs.Close();        }        public void Print()
        {
            throw new NotImplementedException();
        }        public void Close()
        {
            if (office != null)
            {
                // 尝试关闭office
                try
                {
                    office.Save();
                    office.Close();
                }
                catch
                { }
            }            if (fs != null)
                fs.Close();
        }        public FileInfo GetFileInfo()
        {
            return info;
        }        public byte[] GetFileContent()
        {
            // 关闭Office
            Close();            // 打开文档,获取内容
            fs = new FileStream(info.filePath, FileMode.Open);                   // 文件流            //读取文件内容
            if (null == officeStream)
                officeStream = new byte[fs.Length];            fs.Read(officeStream, 0, (int)fs.Length);
            fs.Close();            // 打开Office
            OpenFile(info.filePath);            return officeStream;
        }        public void SetReaderProperties(uint properties)
        {
            //throw new NotImplementedException();
        }        #endregion
    }
}求各位大哥救救小弟。。诚心拜拜

解决方案 »

  1.   

    用這個啊
    http://ufo-crackerx.blog.163.com/blog/static/11307877820111017113958413/
      

  2.   

    前提:
    导入COM库:Microsoft word 11.0 Object Library.
    引用里面就增加了:
    创建新Word
                object oMissing = System.Reflection.Missing.Value;
                Word._Application oWord;
                Word._Document oDoc;
                oWord = new Word.Application();
                oWord.Visible = true;
                oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,
                    ref oMissing, ref oMissing);打开文档:
                object oMissing = System.Reflection.Missing.Value;
                Word._Application oWord;
                Word._Document oDoc;
                oWord = new Word.Application();
                oWord.Visible = true;
                object fileName = @"E:CCCXCXXTestDoc.doc";
                oDoc = oWord.Documents.Open(ref fileName,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);导入模板
                object oMissing = System.Reflection.Missing.Value;
                Word._Application oWord;
                Word._Document oDoc;
                oWord = new Word.Application();
                oWord.Visible = true;
                object fileName = @"E:XXXCCXTest.doc";
                oDoc = oWord.Documents.Add(ref fileName, ref oMissing,
                                ref oMissing, ref oMissing);
    .添加新表
                object oMissing = System.Reflection.Missing.Value;
                Word._Application oWord;
                Word._Document oDoc;
                oWord = new Word.Application();
                oWord.Visible = true;
                oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,
                    ref oMissing, ref oMissing);            object start = 0;
                object end = 0;
                Word.Range tableLocation = oDoc.Range(ref start, ref end);
                oDoc.Tables.Add(tableLocation, 3, 4, ref oMissing, ref oMissing);.表插入行
                object oMissing = System.Reflection.Missing.Value;
                Word._Application oWord;
                Word._Document oDoc;
                oWord = new Word.Application();
                oWord.Visible = true;
                oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,
                    ref oMissing, ref oMissing);            object start = 0;
                object end = 0;
                Word.Range tableLocation = oDoc.Range(ref start, ref end);
                oDoc.Tables.Add(tableLocation, 3, 4, ref oMissing, ref oMissing);            Word.Table newTable = oDoc.Tables[1];
                object beforeRow = newTable.Rows[1];
                newTable.Rows.Add(ref beforeRow);.单元格合并
                object oMissing = System.Reflection.Missing.Value;
                Word._Application oWord;
                Word._Document oDoc;
                oWord = new Word.Application();
                oWord.Visible = true;
                oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,
                    ref oMissing, ref oMissing);            object start = 0;
                object end = 0;
                Word.Range tableLocation = oDoc.Range(ref start, ref end);
                oDoc.Tables.Add(tableLocation, 3, 4, ref oMissing, ref oMissing);            Word.Table newTable = oDoc.Tables[1];
                object beforeRow = newTable.Rows[1];
                newTable.Rows.Add(ref beforeRow);            Word.Cell cell = newTable.Cell(1, 1);
                cell.Merge(newTable.Cell(1, 2));.单元格分离
                object oMissing = System.Reflection.Missing.Value;
                Word._Application oWord;
                Word._Document oDoc;
                oWord = new Word.Application();
                oWord.Visible = true;
                oDoc = oWord.Documents.Add(ref oMissing,
                    ref oMissing, ref oMissing);            object start = 0;
                object end = 0;
                Word.Range tableLocation = oDoc.Range(ref start, ref end);
                oDoc.Tables.Add(tableLocation, 3, 4, ref oMissing, ref oMissing);            Word.Table newTable = oDoc.Tables[1];
                object beforeRow = newTable.Rows[1];
                newTable.Rows.Add(ref beforeRow);            Word.Cell cell = newTable.Cell(1, 1);
                cell.Merge(newTable.Cell(1, 2));            object Rownum = 2;
                object Columnnum = 2;
                cell.Split(ref Rownum, ref  Columnnum);通过段落控制插入
                object oMissing = System.Reflection.Missing.Value;
                object oEndOfDoc = "\endofdoc"; /**//* endofdoc is a predefined book */            //Start Word and create a new document.
                Word._Application oWord;
                Word._Document oDoc;
                oWord = new Word.Application();
                oWord.Visible = true;
                oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,
                    ref oMissing, ref oMissing);            //Insert a paragraph at the beginning of the document.
                Word.Paragraph oPara1;
                oPara1 = oDoc.Content.Paragraphs.Add(ref oMissing);
                oPara1.Range.Text = "Heading 1";
                oPara1.Range.Font.Bold = 1;
                oPara1.Format.SpaceAfter = 24;    //24 pt spacing after paragraph.
                oPara1.Range.InsertParagraphAfter();赞同18| 评论(3) 
      

  3.   

    Microsoft word 11.0 Object Library 不是對應各個版本office,還是用我說的那個吧,,,,,,,呵呵呵呵呵額呵呵呵呵
      

  4.   

    这个控件能直接返回control类吗?。我比较菜还有大哥你那个下不到呀
      

  5.   

    这个控件能直接返回control类吗?。我比较菜还有大哥你那个下不到呀