Unity WebGL 下载替换Word模板数据


插件包介绍

主要解决:Unity WebGL 下载替换Word模板功能

一、导入自己Word模板

注意:Word模板路径必须在此文件夹下
在这里插入图片描述

二、设置Word模板

Word文档中使用“{}”符号,中间写入替换的字段名 :{关键字段}
在这里插入图片描述

三、创建报告基础数据

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
/// <summary>
/// 实验报告基础参数
/// </summary>
[Serializable]
public class LabReprotData 
{
    #region 基础数据
    [Header("EID")]
    public int eid;
    [Header("名字")]
    public string name;
    [Header("得分")]
    public float scroe;
    #endregion

    #region 空数据如果初始化没有自动设置默认
    public string test1;
    public float test2;
    public int test3;
    #endregion
}

四、初始化下载Word 参数

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using UnityEngine;
using UnityEngine.Networking;

/// <summary>
/// 下载Word脚本
/// </summary>
public class WebGLDownLoadFile : MonoBehaviour
{

    [DllImport("__Internal")]
    private static extern void WebGLDownloadWord(byte[] array, int size, string reportjson);

    /// <summary>
    /// 下载Word 方法
    /// </summary>
    public void Download()
    {
        #region 初始化
        LabReprotData reprotData = new LabReprotData();
        reprotData.eid = 1001;
        reprotData.name = "小陈";
        reprotData.scroe = 100;
        // 转json
        string json = JsonUtility.ToJson(reprotData, true);
        #endregion

        // 调用携程下载数据
        StartCoroutine(WebGLDownloadWord(json));
    }


    /// <summary>
    /// 下载Word
    /// </summary>
    /// <param name="json">实验报告json</param>
    /// <returns></returns>
    IEnumerator WebGLDownloadWord(string json)
    {
        System.Uri uri = new System.Uri(Path.Combine(Application.streamingAssetsPath + "/Template/", "模板.docx"));
        UnityWebRequest request = UnityWebRequest.Get(uri);
        yield return request.SendWebRequest();

        if (request.isHttpError || request.isNetworkError)
        {
            Debug.Log("错误路径:" + request.error);
        }
        else
        {
            // 下载word
            DownloadDocx(request.downloadHandler.data, json);
        }
    }

    /// <summary>
    /// 调用下载Word
    /// </summary>
    /// <param name="bytes">支持多种文件格式下载(doc docx xml xlsx txt等)</param>
    /// <param name="reportjson">json数据</param>
    public void DownloadDocx(byte[] bytes, string reportjson)
    {
        WebGLDownloadWord(bytes, bytes.Length, reportjson);
    }

}

五、打包WebGL

注意:打包路径不能存在中文、项目路径也一样。
在这里插入图片描述

六、设置配置文件

1.文件位置

在这里插入图片描述

2.设置参数

注意:Pack path Name 目录名称必须修改,这个就是步骤五WebGL打包的文件夹名字
在这里插入图片描述

3.配置文件快捷键

在这里插入图片描述

七、创建Index

在这里插入图片描述
在这里插入图片描述

1.直接替换之前打包Index文件

在这里插入图片描述

八、浏览器打开WebGL

提示:建议使用本地、因为使用IIS效果一样。不嫌麻烦保证正确性使用IIS

1.本地打开自己百度

2.如果使用IIS 需要添加

在这里插入图片描述

3.文件位置web.config

在这里插入图片描述

九、项目工程文件

链接:WebGLDownLoadWord

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

璐璐怪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值