精华内容
下载资源
问答
  • 开发中使用的ide是pycharm 如果根据自己需求对一些功能进行修改, 建议使用源码安装xadmin 这篇是我自己开发中的思路方法, 有些地方比较死板笨拙, 没想到什么好...按照标签名, 全局查找到有xlsx(随便查找哪一个)的地方

    开发中使用的ide是pycharm
    如果根据自己需求对一些功能进行修改, 建议使用源码安装xadmin

    这篇是我自己在开发中的思路方法, 有些地方比较死板笨拙, 没想到什么好的方法, 如果有好的建议, 请多多指点一下

    xadmin自带的导出模块中有xlsx, xls, csv, xml, json 这几种格式, 但是我这里有个需求是需要导出world, 所以需要自己增加此功能, 也就需要对xadmin源码进行调整增加

    首先看原测试页面中导出功能:
    原始导出中没有	WORD
    按照标签名, 全局查找到有xlsx(随便查找哪一个)的地方, 发现有此参数的地方并不多, 找到xadmin源码路径下)的文件xadmin/plugins/export.py有两个地方含有xlsx:

    # 第40行
    # 根据类名可以判断, 这里是导出栏选项
    class ExportMenuPlugin(BaseAdminPlugin):
        list_export = ('xlsx', 'xls', 'csv', 'xml', 'json')
        export_names = {'xlsx': 'Excel 2007', 'xls': 'Excel', 'csv': 'CSV',
                        'xml': 'XML', 'json': 'JSON'}
    
    # 第60行
    # 这一个类则是选中导出类型后对应的方法
    class ExportPlugin(BaseAdminPlugin):
        export_mimes = {'xlsx': 'application/vnd.ms-excel',
                        'xls': 'application/vnd.ms-excel', 'csv': 'text/csv',
                        'xml': 'application/xhtml+xml', 'json': 'application/json',
                        } 
    

    这两个地方都按照原格式要加上我需要的WORD:

    class ExportMenuPlugin(BaseAdminPlugin):
        # fixme 导出栏增加 docx
        list_export = ('xlsx', 'xls', 'csv', 'xml', 'json', 'docx')
        export_names = {'xlsx': 'Excel 2007', 'xls': 'Excel', 'csv': 'CSV',
                        'xml': 'XML', 'json': 'JSON', 'docx': 'WORD'}
    
    class ExportPlugin(BaseAdminPlugin):
    
        export_mimes = {'xlsx': 'application/vnd.ms-excel',
                        'xls': 'application/vnd.ms-excel', 'csv': 'text/csv',
                        'xml': 'application/xhtml+xml', 'json': 'application/json',
                        'docx': 'application/word'}
    

    保存刷新, 可以看到测试页面导出选项栏上已经有了WORD选项:
    导出栏WORD选项
    但是现在只是添加了这个选项名, 还并没有实际实现导出功能
    继续往类ExportPlugin下面看, 会发现诸如一些get_xlsx_export,get_xml_export等方法,这些就是导出保存xls,xml等格式的具体实现, 所以在类ExportPlugin下面随便一个位置, 按照其他方法类似的格式 (我是在方法get_xlsx_export后面, 第173行) 添加上自己的方法get_docx_export及处理逻辑:
    注意:这里方法名不能随便取, 必须要保持get_xxx_export的格式xadmin才能正确执行程序, 这里的xxx就是上面选项栏填写的参数, 我这里填的是docx, 所以方法名是get_docx_export

    # xadmin/plugins/export.py
    # 处理docx格式文件,需要用到python-docx包, 所以需要pip install python-docx, 并在顶部导入docx
    from docx import Document
    from docx.oxml.ns import qn
    from docx.shared import Inches, Pt
    
    """
    ...
    """
    
    class ExportPlugin(BaseAdminPlugin):
    
        export_mimes = {'xlsx': 'application/vnd.ms-excel',
                        'xls': 'application/vnd.ms-excel', 'csv': 'text/csv',
                        'xml': 'application/xhtml+xml', 'json': 'application/json',
                        'docx': 'application/word'}  # fixme
        
    	"""
    	....
    	"""
    
    	# 第135行
        def get_xls_export(self, context):
            datas = self._get_datas(context)
            output = io.BytesIO()
            export_header = (
                self.request.GET.get('export_xls_header', 'off') == 'on')
    
            model_name = self.opts.verbose_name
            """
            ...
            """
    
    	# 第173行, 这是我添加的自己的处理docx的方法及逻辑
    	def get_docx_export(self, context):
            datas = self._get_datas(context)
            output = io.BytesIO()
            # model_name是仿照上面get_xls_export添加的参数, 但是我自己并没用到
            # model_name = self.opts.verbose_name
    
            file = Document()
            # 因为我这里对导出内容并没有多少要求, 所以word样式处理的比较简单
            file.styles['Normal'].font.name = u'微软雅黑'
            file.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')
            file.styles['Normal'].font.size = Pt(10)
            # file.add_paragraph().paragraph_format.space_before = Pt(10)
            head = datas[0]
            # 这里取datas[1:]的原因是datas第一列数据是表头,而我不需要导出,所以直接舍去表头
            for rowx, row in enumerate(datas[1:]):
                # print(rowx, row)
                for colx, value in enumerate(row):
                    if head[colx] == '是否违法':
                        is_standard = ''
                        if value:
                            is_standard = '是'
                        else:
                            is_standard = '否'
                        file.add_paragraph('%s: %s' % (head[colx], is_standard))
                    elif head[colx] == '支付截图':
                        file.add_paragraph('支付截图: ')
                        imgs = list(JsqBasic.objects.filter(name=row[0]).values('image'))
                        if imgs[0]['image']:
                            file.add_picture('%s/%s' % (settings.MEDIA_ROOT, imgs[0]['image']), width=Inches(1.5))  # 数字越大,图片越大
                    elif head[colx] == '访问截图':
                        file.add_paragraph('访问截图: ')
                        imgs = VisitImg.objects.filter(name=row[0]).values('image')
                        if imgs:
                            for img in imgs:
                                file.add_picture('%s/%s' % (settings.MEDIA_ROOT, img['image']), width=Inches(1.25))
                    else:
                        file.add_paragraph('%s: %s' % (head[colx], value))
            file.save(output)
            return output.getvalue()
    
    

    保存刷新测试页面, 选择数据导出word保存成功, 大功告成

    展开全文
  • 您可以轻松浏览页面:只需打开新的搜索框(点按两次F),键入您要查找的单词,然后efTwo就会突出显示页面上的所有单词他们使用的是种变化形式(或者,如果您通过搜索引擎访问了该页面,则关键字可能已经框中。...
  • 如何将PPT转word

    2011-12-10 22:58:29
    在Word里用替换功能全部删除空行可按"Ctrl+H"打开"替换"对话框,"查找内容"里输入"^p^p","替换为"里输入"^p",多单击几次"全部替换"按钮即可。("^"可英文状态下用"Shift+6"键来输入。)  3.利用"另存为"直接...
  • 我想用下面这个程序实现子字符串的查找功能,为什么不行呢,大家伙帮我看看问题出在哪。。。 #include #include #include using namespace std; int findstr(vector<string> vec,string s ) { int n=0; ...
  • 基于SSM的个人博客系统设计软件程序源码+数据库+WORD毕业设计论文文档, 个人博客系统主要用于发表个人博客,记录个人生活日常,学习心得,技术分享等,供他人浏览,查阅,评论等。本系统结构如下: (1)博主端: ...
  • 我的代码,有错误,但不知到在哪。。。 #include #include int stricmp1(const char*word,const char*words); int main() { char word[20]; char words[100]; int count = 0; int turn =0; int ture = 0; ...
  • GExperts 1.32 For Delphi 7

    2011-11-08 09:22:45
    另外你还可以将过程的代码复制到剪贴板中,这个功能在写相关的技术文档的时候特别有用。此外你还可以通过“Search”选项来迅速地找到所需要的函数,以省却上下滚动查找的麻烦,如果你的窗口或者函数库中具有大量的...
  •  实例153 数组中快速查找近似值 199  实例154 猴子选大王算法的实现 200  实例155 使用MD5算法对密码进行加密 201 实例156 恺撒密码算法的实现 202 第2篇 Windows窗体篇 第7章 Windows窗体基础 206 ...
  • 实例153 数组中快速查找近似值 199 实例154 猴子选大王算法的实现 200 实例155 使用MD5算法对密码进行加密 201 实例156 凯撒密码算法的实现 202 第2篇 Windows窗体篇 第7章 Windows窗体基础 206 7.1 设置窗体位置 ...
  • 实例240 RichTextBox控件中实现项目符号功能 实例241 设置RichTextBox控件中的文本对齐方式 11.5 ListBox控件应用 实例242 ListBox控件中实现选择项功能 实例243 选中ListBox控件中全部条目 实例244 对...
  • 实例240 RichTextBox控件中实现项目符号功能 实例241 设置RichTextBox控件中的文本对齐方式 11.5 ListBox控件应用 实例242 ListBox控件中实现选择项功能 实例243 选中ListBox控件中全部条目 实例244 对...
  • 实例240 RichTextBox控件中实现项目符号功能 实例241 设置RichTextBox控件中的文本对齐方式 11.5 ListBox控件应用 实例242 ListBox控件中实现选择项功能 实例243 选中ListBox控件中全部条目 实例244 对...
  • WPS 2000 的表格功能在WPS 97 基础上更上一层楼。可以在表格内自由画线和擦线,加入表题和表体,表体内可以灌入各种数据库数据,表格可自动填充数据,表格数据可以生成直观醒目的图表,如折线图或圆饼图。表内数据...
  • 1 逻辑类问题(A类)-指设计、编码中出现的计算正确性和一致性、程序逻辑控制等方面出现的问题,系统中起关键作用,将导致软件死机、功能正常实现等严重问题; 接口类问题(B类)-指设计、编码中出现的函数和...
  • ③ 合同:此功能主要用于保存传统纸制合同的电子版,以便为以后查找合同提供方便,使用此功能前需要系统设置中设置合同样本文件,以使于此处使用。 4. 门店招贴:点击主窗口左侧的"房源管理" →"门店招贴"按钮,...
  • 仿美萍房产中介管理系统源码20110803

    热门讨论 2011-08-03 16:47:05
    ③ 合同:此功能主要用于保存传统纸制合同的电子版,以便为以后查找合同提供方便,使用此功能前需要系统设置中设置合同样本文件,以使于此处使用。 4. 门店招贴:点击主窗口左侧的"房源管理" →"门店招贴"按钮,...
  • ③ 合同:此功能主要用于保存传统纸制合同的电子版,以便为以后查找合同提供方便,使用此功能前需要系统设置中设置合同样本文件,以使于此处使用。 4. 门店招贴:点击主窗口左侧的"房源管理" →"门店招贴"按钮,...
  • 键盘按键命令

    2013-06-18 16:48:11
    f3 当你桌面上的时候是打开“查找:所有文件” 对话框 f10或alt 激活当前程序的菜单栏 windows键或ctrl+esc 打开开始菜单 ctrl+alt+delete win9x中打开关闭程序对话框 delete 删除被选择的选择项目,...
  • 13.5 使用自动化功能在Microsoft Project中驱动Access 410 13.6 应用自动化功能在Access中调用Outlook 415 13.6.1 创建Outlook邮件项目 416 13.6.2 在Access中创建Outlook任务项 417 13.6.3 从Access中向...
  • 最初,因为它很大程度上仅把不同类型的Office文档链接一起,所以利用它,例如,可以把一个小型Excel电子表格放在Word文档中。之后,它逐步演化为COM、DCOM(Distributed COM,分布式组件对象模型)和最终的COM+。...
  • 13.5 使用自动化功能在Microsoft Project中驱动Access 410 13.6 应用自动化功能在Access中调用Outlook 415 13.6.1 创建Outlook邮件项目 416 13.6.2 在Access中创建Outlook任务项 417 13.6.3 从Access中向Outlook...
  • 查找表项()”增加可空参数“列索引”,以指定查找哪一列。 12. 修改扩展界面支持库一,添加“工具条.置标题()”方法。 13. 修改高级表格支持库表格空白处(所有单元格之外)单击鼠标导致当前光标处单元格自动...
  • 2.1.2 在功能区中设置对齐格式 2.2 设置边框和底纹 2.2.1 快速打造边框 2.2.2 快速添加表格底纹 2.3 用颜色显示适合条件的单元格 文秘应用 设置文件传阅单 2.3.1 突出显示单元格规则 2.3.2 数据条 2.3.3 图标集 ...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0206 如何DBGrid中实现复制、粘贴功能 137 0207 DBGrid中将选中的多行删除 137 0208 DataGrid中如何使标题文字居中 138 0209 如何把ListBox中的内容拖曳到另一个ListBox中 139 0210 把DBGrid中的数据...
  • HTML参考手册.chm

    2011-09-12 19:21:54
     浏览器自己可不知道在哪添加个标志符使网页正确显示出来。如果你希望象我们前面讲到的把“订书机”这三个字变为粗体,就需要返回文本编辑器中添加标志符并重新保存该文件。这时你在浏览器中点击刷新按钮后就会显示...
  • 0206 如何DBGrid中实现复制、粘贴功能 137 0207 DBGrid中将选中的多行删除 137 0208 DataGrid中如何使标题文字居中 138 0209 如何把ListBox中的内容拖曳到另一个ListBox中 139 0210 把DBGrid中的数据...
  • 0206 如何DBGrid中实现复制、粘贴功能 137 0207 DBGrid中将选中的多行删除 137 0208 DataGrid中如何使标题文字居中 138 0209 如何把ListBox中的内容拖曳到另一个ListBox中 139 0210 把DBGrid中的数据...
  • 0206 如何DBGrid中实现复制、粘贴功能 137 0207 DBGrid中将选中的多行删除 137 0208 DataGrid中如何使标题文字居中 138 0209 如何把ListBox中的内容拖曳到另一个ListBox中 139 0210 把DBGrid中的数据...
  • 0206 如何DBGrid中实现复制、粘贴功能 137 0207 DBGrid中将选中的多行删除 137 0208 DataGrid中如何使标题文字居中 138 0209 如何把ListBox中的内容拖曳到另一个ListBox中 139 0210 把DBGrid中的数据...
  • 0206 如何DBGrid中实现复制、粘贴功能 137 0207 DBGrid中将选中的多行删除 137 0208 DataGrid中如何使标题文字居中 138 0209 如何把ListBox中的内容拖曳到另一个ListBox中 139 0210 把DBGrid中的数据...

空空如也

空空如也

1 2 3
收藏数 46
精华内容 18
关键字:

word查找功能在哪