Tag: odata

Excel数据访问

我正试图devise一个访问Excel 2010(和以前的版本)中的数据的解决scheme。 一些高层次的要求/限制如下: 数据存储在数据库中。 用户不能直接连接到数据库。 他们可能想要的数据访问types将被其他应用程序使用。 用户将希望通过直接导入到工作表以及通过VBA来处理数据。 据我所知,我想到了以下几点 WCF服务 可以被其他应用程序使用 将引入延迟(如果这是一个问题) 不能在没有VBA的工作表中直接使用? WCF数据服务 可以被其他应用程序使用 更好的模型(通过EF)和(RESTful,OData) 将引入延迟(如果这是一个问题) PowerPivot可以直接使用 不能在没有VBA的工作表中直接使用? 仅与2010无VBA兼容 Web查询 需要更多的努力来build立(将需要将ASP.NET外观放在数据库前面) 可以在没有VBA的情况下直接在工作表中使用 兼容所有必需的Excel版本 其他应用程序暴露数据的机制不佳(非Excel) 我开始认为没有一个适合所有解决scheme的解决scheme并不存在,并且必须创build一个直接工作表访问接口和另一个接口,无论是SOAP还是RESTtypes的数据服务。 有没有人有任何build议/经验? 谢谢

如何让Excel与.NET或PowerShell或OData进行交互

我有几千行历史数据,我想让Excel访问。 此数据将用于创build摘要报告,迷你图和表格数据。 我的问题是我应该如何去添加新的行到数据源? PowerShell是从源(Exchange Server)提取数据所必需的…但是,如何将提取的数据展示给Excel2010呢? 这是我的想法: 1)使用Open XML库,PowerShell可以在外部运行并将数据保存到XLSX(只要电子表格已closures) 2)使用Excel vbmacros通过interop(C#对象)调用COM从Powershell获取数据。 返回值转到XLSX(丑陋) 3)? (先进的,不知道这个想法是否会与上述function一起工作) 如果我要将这些行移动到外部工作表或SQL表,那么我宁愿使用其他方式将数据导入到Excel中。 我不知道这是否会与sparklines,或表。 也许我可以使用OData,因为它看起来是最轻量级和防火墙友好的。

Excel Services REST API:使用POST参数来克服URL限制?

我正在开发一个需要与Sharepoint Excel Services集成的项目。 我需要调用REST API,将parameter passing给工作簿,然后检索命名范围。 当我在查询string中传递参数时,这一切都很好,如下所示: https://test.sharepoint.com/exceldemo/_vti_bin/excelrest.aspx/shared%20documents/test.xlsx/model/tables('Print_Area')?format=html&Ranges(%27PlanAssets%27)=$500,000.00 在上面的示例中,我在将$ 500,000.00插入名为range的PlanAssets之后,以html格式检索名为range的Print_Area。 问题是我需要传递一堆参数,并且会很快耗尽URL中的空间。 不支持的function列表不提供2000字符URL限制的解决scheme。 正常的HTTP请求的简单解决scheme是将我的URL参数移动到请求上的POST参数,但是我找不到任何关于此的文档。 有没有办法来克服的URL限制,并通过大量的参数?

Web API 2和OData安全性

我有一个Web应用程序使用Web Api 2暴露Rest api。 我需要为一些非常特定的实体公开一些oData提要。 由于使用oData提要需要支持Excel 2013,我们必须使用oData v3 我无法find如何妥善保护oData端点。 使用授权属性,Excel表示,饲料是无效的,而我仍然可以在浏览器中获取我的数据。 任何线索?

用于validationFeed的OData客户端代码生成器(Excel服务)

如何为经过身份validation的服务生成OData客户端代理? 在我的情况下,我在O365 / SharePoint在线连接到电子表格的Excel Service Restful OData提要。 我可以在身份validation后访问元数据并在浏览器中提供,但是我希望使用安装在VS2015(C#)中的OData客户端代码生成器。 没有选项/提示input凭据,只有403错误。 我已经尝试使用相同的办公室帐户login到VS,并打开在VS浏览器中的饲料(authentication),但没有运气。 我能够将元数据xml保存到我的项目。 我想知道如果也许我可以访问T4模板文件,并引用文件中的元数据,而不是通过URI? 有什么build议么?

如何为odata元数据xml文档(v4)别名/设置显示名称

以下是我的odata端点返回的元数据示例。 我正在使用带有Microsoft Excel Power Query的端点。 一切工作正常,除了我想改变显示名称“MyTable”下面的其他东西,比如说“我的酷表”。 我曾尝试添加注释,但是每次添加注释时,Excel都会抛出一个隐含的错误,指出我的元数据无效。 问题是,考虑到下面的OData XML元数据,我需要添加什么,以便显示的表的名称是“My Cool Table”而不是“MyTable”。 <?xml version="1.0" encoding="utf-8"?> <edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0"> <edmx:DataServices xmlns:m="http://docs.oasis-open.org/odata/ns/metadata" m:MaxDataServiceVersion="4.0" m:DataServiceVersion="4.0"> <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MyOData"> <EntityType Name="MyTable"> <Key> <PropertyRef Name="myid" /> </Key> <Property Name="myid" Type="Edm.String" Nullable="false" /> <Property Name="Anotherfield" Type="Edm.String" /> </EntityType> <EntityContainer Name="DefaultContainer"> <EntitySet Name="MyTable" EntityType="MyOData.MyTable" /> </EntityContainer> </Schema> </edmx:DataServices> </edmx:Edmx>

.net数据服务OData提要:如何强制excel将时间解释为date列

后端是一个手工制作的ODataContext的System.Data.Services.DataService,它提供了一个IQueryable的MyModelType。 模型中的相应字段被键入为可为空的DateTime。 有趣的是,左栏,其字段永不为null正确显示为仅date。 在Excel中更改格式只是被忽略,不知道为什么。 有什么魔术属性,我可以把我的模型属性,像[DateOnly],导致所需的行为?

简单的方法来从excel comsume http api

TLDR:我有一个基于json的简单http api。 客户希望从Excel中使用该API。 我怎样才能使顾客的生活尽可能简单? 我有一个基于json的简单http api。 目前,api被我们的javascript / web前端网站占用,主要显示网格中的数据。 用户可以做任何types的过滤,过滤发生在后端。 网格将在未来发展,所以您可以像使用excel那样做所有types的东西,所以我们正考虑从excel中制作api消耗品。 我曾经看过odata,而且excel似乎和它玩的很好。 你可以指出一个从excel enpdoint魔术般地做了很多疯狂的东西。 odata的问题是它需要太多的工作。 首先,API是在JavaScript中,我似乎无法find一个好的JavaScript库,将为我做的工作,所以我将不得不实施整个协议。 其次,我从odata中唯一感兴趣的是查询function,而不是数据位 – 我不希望我的端点暴露数据的形状。 最后,odata似乎有点“死”。 我正在寻找替代odata。 我发现用excel可以很容易地通过web查询从一个http json api端点获取数据,但是我看到了一点限制。 首先,在设置查询时有一些步骤 – 这样就不会像客户的odata那么简单了。 更重要的是,我希望我的HTTP端点参数过滤参数, 有很多参数,我不能find一个简单的方法来做到这一点与网页查询。 只是为了澄清,我想过滤发生在后端,而不是在Excel中。 由于数据量巨大,返回所有数据的api和在excel中进行过滤的api将不可行。 有什么想法吗? 有没有人有这方面的经验? 我想知道如果.. odata是正确的方法吗? 如果odata不是正确的方法,那么最好的select是什么? 非常感谢

Excel PowerQuery / C#WebAPI OData,检索旧的服务参考

尝试将Excel Power Query连接到我的OData Web服务时出现一些奇怪的行为。 当我开始构buildWeb服务时,我的基础数据类(POCO)被称为“FilterSearchFacade”。 随着开发的继续,我将基础数据类重新命名为“ReportSource”。 当我通过Web浏览器使用URL连接到Web服务时,返回正确的“ReportSource”对象。 但是,当我连接PowerQuery时,它返回以下错误: 就像在Excel中有一些数据caching保留在旧的类定义中一样? 我努力了… *在Excel中进入“Power Query”>“Recent Sources”,将其全部删除并重新启动excel。 *在我的WebAPI项目中search类名“FilterSearchFacade”的全部代码,没有。 *从WebAPI项目中删除bin / obj文件夹,清理和重build。 当我从Web浏览器转到项目的元数据根目录时,它显示了正确的类定义: 本地debugging: http://localhost:61023/api/PortlandDev/2/$metadata <edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0"> <edmx:DataServices> <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sulzer.STAT.DataService"> <EntityType Name="ReportSource"> <Key>… 我被困在这里 OData项目没有对“FilterSearchFacade”类的引用,但Excel仍在尝试引用该types。 任何有关额外项目的想法或如何进行将非常感激。

Excel Odata查询

我在.net中创build了Odata服务来处理Odata查询,并且我正在运行连接到odata源的excel文档。 我添加了一个条件,如果没有任何附加查询,IE不会允许odata feed成功(IE没有任何其他内容?),这是因为数据集很大,没有减less的查询。 我的查询如下http:// [MyLocalHost] / odata / Defect ?$ filter = [MyColumn] eq'[Value]'&$ filter = [MyColumn] gt DateTimeOffset'[Value]' 在这种情况下,列或值是什么并不重要。 当我在提琴手或网页浏览器中运行查询时,我得到的结果没有任何问题。 但是,如果我使用Excel,我会得到与我有关的错误,而不是传递给你的查询选项。 当我debugging解决scheme,我发现Excel运行查询两次。 一旦用我的查询“?$ filter = [MyColumn] eq'[Value]'&$ filter = [MyColumn] gt DateTimeOffset'[Value]'”,然后再将查询设置为空string? 我的问题是,为什么excel这样做,当小提琴手和浏览器不? 我可以停止擅长这样做吗? 如果是的话如何?