Python在Office 365 开发中的应用
我在昨天发布的文章 —— 简明 Python 教程:人生苦短,快用Python —— 中提到了Python已经在Office 365开发中全面受支持,有不同朋友留言或私信说想了解更加详细的说明,所以特意整理这一篇给大家参考。

我之前写的《Office 365 开发入门指南》一书,对Office 365开发进行了比较详细的阐述,有兴趣可以参考 《Office 365开发入门指南》上市说明和读者服务

Microsoft Graph SDK for Python

如果你用Python开发了一个应用程序,希望调用Microsoft Graph来访问Office 365的数据,例如联系人列表,邮件处理,文件分享等。你可以通过下面的地址得到Microsoft Graph SDK,以及代码范例。
http://aka.ms/pythongraphsamples

Office 365 Add-ins with Python
Office 365 Add-ins包括Office Add-ins和SharePoint Add-ins,在新的Web Add-ins的这种框架下,Python可以很自然地开发以上两种组件,因为他们其实都是用一个manifest文件进行定义,然后核心内容都是用一个网站来提供。Python可以很方便地开发网站,所以非常简单。
这里有一个Office Add-in 范例 https://github.com/OfficeDev/Groups-API-Office-Add-in-Python-Sample

你可以用任意你喜欢的方式来开发Python 网站,例如在Visual Studio中提供了Python工具套件。

除了上面的这种新型的Web Add-in,Python也可以通过传统方式与Office 应用程序交互,例如操作Excel,PowerPoint,Word等。请参考下面的介绍。
Python with Excel
有几个很好的Python模块能够方便地操作Excel的数据,包括读与写,不要求本地安装Excel。例如pandas, openpyxl, xlrd, xlutils 和 pyexcel. 详情可以参考下面的介绍:
https://www.datacamp.com/community/tutorials/python-excel-tutorial

Python for Excel
利用xlwings模块,你可以很方便地Python应用程序中操作Excel文件(同时支持xls和xlsx),也可以在Excel中直接调用Python的脚本(通过RunPython函数),还可以使用Python为Excel自定义函数,需要本地安装Excel。请参考 https://www.xlwings.org/

Python for Word
使用python-docx这个模块,可以很方便地创建和修改Word文档(不需要本地安装Word)
https://pypi.org/project/python-docx/

Python for PowerPoint
使用python-pptx这个模块,可以很容易地创建或修改PowerPoint 文档(不需要本地安装PowerPoint)。请参考
https://python-pptx.readthedocs.io/en/latest/

其实还有很多,Python的模块都是开源的,由全世界的程序员贡献并分享,如果遇到什么需求,可以先用 pip search 命令搜索一下,也许已经有了现成的模块呢。
本文转载自微信公众号"希章分享",有兴趣可扫描关注。

Python在Office 365 开发中的应用的更多相关文章
- 拥抱开源,Office 365开发迎来新时代
前言 作为全球最大的开放源代码托管平台,Github在上周迎来了它的十岁生日.自从2008年正式上线以来,Github上面汇聚了数以千万计的开发人员和各种项目,它几乎成为了开源的代名词和风向标,各大软 ...
- [ Office 365 开发系列 ] 开发模式分析
前言 本文完全原创,转载请说明出处,希望对大家有用. 在正式开发Office 365应用前,我们先了解一下Office 365的开发模式,根据不同的应用场景,我们选择最适合的开发模式. 阅读目录 Of ...
- Office 365开发概述及生态环境介绍(一)
原文于2017年3月13日首发于LinkedIn,请参考这个链接 离上一篇文章,很快又过去了两星期的时间.今天抓紧晚上的时间,开始了Office 365开发系列文章的第一篇,我会帮助大家回顾一下过去O ...
- Office 365开发概述及生态环境介绍(二)
本文于2017年3月19日首发于LinkedIn,原文链接在这里 在上一篇 文章,我给大家回顾了Office发展过来的一些主要的版本(XP,2003,2007,2013等),以及在Office客户端中 ...
- Office 365开发环境概览
本文于2017年3月26日首发于LinkedIn,原文链接请参考这里 本系列文章已经按照既定计划在每周更新,此前的几篇文章如下 Office 365 开发概览系列文章和教程 Office 365开发概 ...
- 《Office 365 开发入门指南》公开邀请试读,欢迎反馈
终于等来了这一天,可以为我的这本新书画上一个句号.我记得是在今年的2月份从西雅图回来之后,就萌发了要为中国的Office 365开发人员写一些东西并最终能帮到更多中国用户的想法,而从2月26日正式写下 ...
- 《Office 365开发入门指南教程》正式上线,限时优惠和邀请分享推广
我很高兴地通知大家,<Office 365 开发入门指南教程>已经正式在网易云课堂上线,你可以通过直接访问 https://aka.ms/office365devlesson 这个短地址 ...
- 所有人都可以是开发人员——《Office 365开发入门指南》视频教程即将上市
今天是春节假期的最后一天,在这里给全国的朋友们拜个晚年,祝大家身体健康,晚年幸福啊.这个春节大家过的怎么样啊,我自己是在老家过的年,家乡的年味还是比较浓的,也再次感谢朋友圈的大家给我看了各地的风光 ...
- 《Office 365开发入门指南》上市说明和读者服务
写在最开始的话 拙作<Office 365开发入门指南>上周开始已经正式在各大书店.在线商城上市,欢迎对Office 365的开发.生态感兴趣的开发者.项目经理.产品经理参考本书,全面了解 ...
随机推荐
- form编码方式application/x-www-form-urlencoded和multipart/form-data的区别
form元素有个enctype属性,可以指定数据编码方式,有如下三种: 1. application/x-www-form-urlencoded: 表单数据编码为键值对,&分隔 2. mult ...
- ServiceStack.OrmLite 入门(一)
软件环境: Win7 x64 SP1 SQL Server 2008r2 Visual Studio 2017 Professional 目标:取出示例数据库 ReportServer 的表 Role ...
- c++中的const与指针
const修饰符 使用const修饰变量时,该变量的值不可修改,因此需要初始化. 例如 const int s = 0: 此时s为值不可变的变量. 那么基于此,当const修饰指针时的情况有三种: ( ...
- unigui+fastreport报表打印
unigui+fastreport报表打印 unigui+fastreport报表打印 FASTREPORT导出成PDF报表,UNIGUI的TUniURLFrame显示PDF报表并打印. func ...
- 本周对于java中lamdba表达式与内部进行了学习 ,以下是我在学习就中遇到的问题
在java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类.我觉得其实就是类的嵌套,在一个类中再定义一个类,这里已成员内部类为讲,内部类可以自由地运用外部类定义的方法,但外部类想 ...
- Android JNI 学习(十一):Invocation Api
1. 简介 Invocation API允许软件提供商在原生程序中内嵌Java虚拟机.因此可以不需要链接任何Java虚拟机代码来提供Java-enabled的应用程序. 以下代码演示如何使用: #in ...
- Spring Boot 最核心的 3 个注解详解
最近面试一些 Java 开发者,他们其中有些在公司实际用过 Spring Boot, 有些是自己兴趣爱好在业余自己学习过.然而,当我问他们 Spring Boot 最核心的 3 个注解是什么,令我失望 ...
- 请求被中止: 未能创建 SSL/TLS 安全通道
出现“请求被中止: 未能创建 SSL/TLS 安全通道.”的问题. 在创建请求地址的前面加了这句代码就可以了 System.Net.ServicePointManager.SecurityProtoc ...
- .NET Core + Abp踩坑和填坑记录(1)
1. Net Core 的DI和Abp的DI并存 Startup中 ConfigureServices返回值改为IServiceProvider 在ConfigureServices最后调用retur ...
- Chapter 4 Invitations——6
The snow washed away for good after that one dangerously icy day. 在危险的冰天雪地之后,这场雪洗走了很多. Mike was disa ...