在项目中遇到一个问题,就是当有多个用户同时下载一个文档时,会出现下载不了的情况,经调研,可能是微软自带的Microsoft.Office.Interop.Word插件的问题,所以就改用Docx插件,解决了问题。代码如下:
public void downDeviceAdjust()
{
try
{
var direc = HttpContext.Current.Server.MapPath(HttpPostedFileExtension.POSTED_FILE_ROOT_DIRECTORY);
var savePath = direc + "测试申请表.docx";
var templateName = direc + "测试申请表_模板.docx";
DocX wordDocumentOld = DocX.Load(templateName);//加载已有的word模板
DocX wordDocument = wordDocumentOld; //复制加载的word模板,以免污染原始模板
Table wordTable = wordDocument.Tables[0];//获取模板中的第一个表格
wordDocument.Bookmarks["number"].SetText("12345");//向模板中的书签中写入数据
wordDocument.Bookmarks["projectName"]