新手飞过。。。就是要读取一个doc文件到框内的
就是读不出来啊。。。。。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
}
}
求各位大哥救救小弟。。。。。。。。。。。诚心拜拜