fix excel error
This commit is contained in:
parent
b93bcc39e3
commit
a45ea1e1d1
39
api.py
39
api.py
@ -1,27 +1,29 @@
|
||||
# 将lib里边的文件加到路由中
|
||||
import sys
|
||||
sys.path.append('./lib')
|
||||
from flask import Flask, escape, url_for, request, render_template, redirect, abort, send_from_directory, Response
|
||||
from flask import Flask, escape, url_for, request, render_template, redirect, abort, send_from_directory, Response, make_response
|
||||
from allFunction import manageGet, managePost, manageInsertKeyword, manageDelKeyword, manageGetKeyword, manageMaterial, replySomething, manageUpdateKeyword, manageExcelAdd, manageExcelReset, manageExcelGet
|
||||
from flask_apscheduler import APScheduler
|
||||
from wxRequest import requestsAccessToken
|
||||
from flask_cors import CORS
|
||||
scheduler = APScheduler()
|
||||
cors = CORS()
|
||||
|
||||
# Response XML自动格式设置
|
||||
class MyResponse(Response):
|
||||
def __init__(self, response, **kwargs):
|
||||
if 'mimetype' not in kwargs and 'contenttype' not in kwargs:
|
||||
if response.startswith('<?xml'):
|
||||
kwargs['mimetype'] = 'application/xml'
|
||||
return super(MyResponse, self).__init__(response, **kwargs)
|
||||
# class MyResponse(Response):
|
||||
# def __init__(self, response, **kwargs):
|
||||
# if 'mimetype' not in kwargs and 'contenttype' not in kwargs:
|
||||
# if response.startswith('<?xml'):
|
||||
# kwargs['mimetype'] = 'application/xml'
|
||||
# return super(MyResponse, self).__init__(response, **kwargs)
|
||||
|
||||
# 创建子类覆写Response
|
||||
class MyFlask(Flask):
|
||||
response_class = MyResponse
|
||||
# class MyFlask(Flask):
|
||||
# response_class = MyResponse
|
||||
|
||||
# 创建app,创建定时函数
|
||||
def create_app():
|
||||
app = MyFlask(__name__)
|
||||
app = Flask(__name__)
|
||||
app.config.update(
|
||||
{"SCHEDULER_API_ENABLED": True,
|
||||
"JOBS": [{"id": "requestsAccessToken", # 任务ID
|
||||
@ -33,6 +35,7 @@ def create_app():
|
||||
)
|
||||
scheduler.init_app(app)
|
||||
scheduler.start()
|
||||
cors.init_app(app=app, resources={r"/excel/*": {"origins": "*"}})
|
||||
requestsAccessToken()
|
||||
return app
|
||||
|
||||
@ -41,6 +44,20 @@ app = create_app()
|
||||
if __name__ == '__main__':
|
||||
app.run()
|
||||
|
||||
# 在所有请求加上跨域允许
|
||||
# @app.after_request
|
||||
# def af_request(resp):
|
||||
# """
|
||||
# #请求钩子,在所有的请求发生后执行,加入headers。
|
||||
# :param resp:
|
||||
# :return:
|
||||
# """
|
||||
# resp = make_response(resp)
|
||||
# resp.headers['Access-Control-Allow-Origin'] = '*'
|
||||
# resp.headers['Access-Control-Allow-Methods'] = 'GET,POST'
|
||||
# resp.headers['Access-Control-Allow-Headers'] = 'x-requested-with,content-type'
|
||||
# return resp
|
||||
|
||||
# 测试用根路由
|
||||
@app.route('/')
|
||||
def sayHello():
|
||||
@ -106,6 +123,8 @@ def excelAdd():
|
||||
@app.route('/excel/reset', methods=['PUT'], strict_slashes=False)
|
||||
def excelReset():
|
||||
res = manageExcelReset(request)
|
||||
resp = make_response(res)
|
||||
resp.headers["Access-Control-Allow-Origin"] = "*"
|
||||
return res
|
||||
|
||||
# excel获取当前数据
|
||||
|
14
lib/excel.py
14
lib/excel.py
@ -47,8 +47,10 @@ def upload_excel(request):
|
||||
|
||||
# 加载excel文件
|
||||
def loadData(file_name, sheet_index):
|
||||
# 根据文件名加载图片
|
||||
wb = load_workbook('../upload' + file_name)
|
||||
# 根据文件名加载文件
|
||||
addr_cache = '/data/api/upload/' + file_name
|
||||
print(addr_cache)
|
||||
wb = load_workbook(addr_cache)
|
||||
# 根据参数获取sheet
|
||||
ws = wb[wb.sheetnames[sheet_index]]
|
||||
# 计数器
|
||||
@ -113,12 +115,13 @@ def createWorkBook(data_list):
|
||||
# 第一列放关键词
|
||||
ws.cell(row=index, column= 1).value = keywords
|
||||
# 第二列放内容
|
||||
ws.cell(row=index, column= 2).value = data[keywords]
|
||||
ws.cell(row=index, column= 2).value = data_list[keywords]
|
||||
index += 1
|
||||
# 获取一个唯一的文件名
|
||||
new_filename = create_uuid() + '.xlsx'
|
||||
addr_cache = '/data/api/saveExcel/' + new_filename
|
||||
# 保存到指定地址,用nginx暴露这个文件夹映射到/excel/get
|
||||
wb.save('../saveExcel' + new_filename)
|
||||
wb.save(addr_cache)
|
||||
# 返回给前端的相对地址
|
||||
addr = '/excel/get/' + new_filename
|
||||
except Exception as e:
|
||||
@ -136,8 +139,7 @@ def getkeywordsList():
|
||||
arr = res_list['arr']
|
||||
# 最终数据集
|
||||
data_list = {}
|
||||
for i in arr:
|
||||
data = arr[i]
|
||||
for data in arr:
|
||||
# 形成键值对方便遍历
|
||||
data_list[data['keywords']] = data['content']
|
||||
return {'errcode': 200, 'errmsg': 'ok', 'data_list': data_list}
|
||||
|
Loading…
x
Reference in New Issue
Block a user