如何从excel导入documentDB中的批量数据?

2023-12-06

我已经浏览了一天有关如何从excel文件将批量数据插入documentDB的信息,但我没有得到任何信息。

我可以从excel文件中读取数据并将其一一插入到documentDB中

Service service = new Service();
    foreach(data in exceldata) //exceldata contains set of rows
    {
    var student = new Student();
    student.id= "";
    student.name = data.name;
    student.age = data.age;
    student.class = data.class;
    student.id = service.savetoDocumentDB(collectionLink,student); //collectionlink is a string stored in web.config
    students.add(student);
    }

Class Service
{
 public async Task<string> AddDocument(string collectionLink, Student data)
        {
            this.DeserializePayload(data);
            var result = await Client.CreateDocumentAsync(collectionLink, data);
            return result.Resource.Id;
        }
}

我可以在一个实例中插入所有记录吗?

任何帮助将非常感激。


更新(4/8/15):DocumentDB刚刚发布了一个数据导入工具,支持JSON文件、MongoDB、SQL Server和CSV文件。你可以在这里找到它:http://www.microsoft.com/en-us/download/details.aspx?id=46436

原答案:

DocumentDB 尚不支持从 Excel 文件批量导入...但是,您可以利用 DocumentDB 的存储过程使批量导入更加友好!

查看Ryan 的示例来自 MSDN:

/** 
* This script called as stored procedure to import lots of documents in one batch. 
* The script sets response body to the number of docs imported and is called multiple times  
* by the client until total number of docs desired by the client is imported. 
* @param  {Object[]} docs - Array of documents to import. 
*/ 
function bulkImport(docs) { 
    var collection = getContext().getCollection(); 
    var collectionLink = collection.getSelfLink(); 

    // The count of imported docs, also used as current doc index. 
    var count = 0; 

    // Validate input. 
    if (!docs) throw new Error("The array is undefined or null."); 

    var docsLength = docs.length; 
    if (docsLength == 0) { 
        getContext().getResponse().setBody(0); 
    } 

    // Call the CRUD API to create a document. 
    tryCreate(docs[count], callback); 

    // Note that there are 2 exit conditions: 
    // 1) The createDocument request was not accepted.  
    //    In this case the callback will not be called, we just call setBody and we are done. 
    // 2) The callback was called docs.length times. 
    //    In this case all documents were created and we don't need to call tryCreate anymore. Just call setBody and we are done. 
    function tryCreate(doc, callback) { 
        var isAccepted = collection.createDocument(collectionLink, doc, callback); 

        // If the request was accepted, callback will be called. 
        // Otherwise report current count back to the client,  
        // which will call the script again with remaining set of docs. 
        // This condition will happen when this stored procedure has been running too long 
        // and is about to get cancelled by the server. This will allow the calling client 
        // to resume this batch from the point we got to before isAccepted was set to false 
        if (!isAccepted) getContext().getResponse().setBody(count); 
    } 

    // This is called when collection.createDocument is done and the document has been persisted. 
    function callback(err, doc, options) { 
        if (err) throw err; 

        // One more document has been inserted, increment the count. 
        count++; 

        if (count >= docsLength) { 
            // If we have created all documents, we are done. Just set the response. 
            getContext().getResponse().setBody(count); 
        } else { 
            // Create next document. 
            tryCreate(docs[count], callback); 
        } 
    } 
} 

您可以在此处找到有关 DocumentDB 数据库端编程(存储过程、触发器和 UDF)的参考文档:http://azure.microsoft.com/en-us/documentation/articles/documentdb-programming/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从excel导入documentDB中的批量数据? 的相关文章

  • Poco c++Net:Http 从响应中获取标头

    我使用 POCO C Net 库进行 http 我想尝试制定持久缓存策略 首先 我认为我需要从缓存标头中获取过期时间 并与缓存值进行交叉检查 如果我错了 请告诉我 那么我如何从中提取缓存头httpResponse 我已经看到你可以用 Jav
  • 在现代 C++ 中,临时生命周期延长何时有用?

    在 C 中 您可以将函数的返回值 返回值 而不是引用 绑定到 const 引用 并且代码仍然有效 因为该临时对象的生命周期将延长到作用域末尾 例如 std string get string return abc void f const
  • 将完整模板参数值映射到原始类型

    我想将数字映射到类型 在这个例子中 我将创建一个函数 将 sizeof 结果映射到有符号的原始类型 我想知道是否有更好的方法来完成我在现代 C 中所做的事情 即采用模板化值并将其转换为类型 现在 这可以将大小转换为已知类型 但我似乎无法在标
  • 解析 JWT 令牌以仅获取有效负载内容,无需 C# 或 Blazor 中的外部库

    我正在使用 Blazor 编写可以访问 JWT 的客户端应用程序 我想知道一种简单的方法来读取令牌有效负载内容而不添加额外的依赖项 因为我不需要其他信息 也不需要验证令牌 我认为解析有效负载内容应该足够简单 只需将其写入方法即可 JwtTo
  • C# 5 async/await 线程机制感觉不对?

    为什么让调用线程进入异步方法直到内部 等待 一旦调用异步方法就生成一个线程 这不是更干净吗 这样您就可以确定异步方法会立即返回 您不必担心在异步方法的早期阶段没有做任何昂贵的事情 我倾向于知道某个方法是否要在 我的 线程上执行代码 不管是堵
  • 为什么'enable_if'不能用于禁用这里声明

    include
  • 将表(行)与 OpenXML SDK 2.5 保持在一起

    我想在 Word 文档中生成多个表 每行 2 行 但我想将这两行保留在一起 如果可能的话 new KeepNext 第一行不起作用 new KeepNext 第一行的最后一段不起作用 new CantSplit 放在桌子上不起作用 在所有情
  • 访问 ascx 文件中的母版页控件

    我有一个母版页文件 其中包含 2 个面板控件中的 2 个菜单 我还使用控件来检查用户是否登录并获取用户类型 根据我想要显示 隐藏面板的类型 控件本身不在母版页中引用 而是通过 CMS 系统动态引用 我想在用户控件中使用findcontrol
  • 使用查询表达式对 List 进行排序

    我在使用 Linq 订购这样的结构时遇到问题 public class Person public int ID get set public List
  • UI 函数在快速事件完成之前触发

    我有一个停靠在 Silverlight 应用程序中的 Web 浏览器框架 有时会在其上弹出全窗口 XAML Silverlight UI 元素 我已经或多或少修复了一个老问题 即 Web 框架的内容似乎与 Silverlight 内容不能很
  • Azure 函数和文档数据库

    我很好奇 Azure Functions 上的缩放与输出到文档数据库的关系如何 基本上 当文档数据库因为超出分配的吞吐量而返回 429 时会发生什么 我之所以这么问 是因为当我将最低级别的 Azure Functions 与最低级别的文档数
  • 析构函数中的异步操作

    尝试在类析构函数中运行异步操作失败 这是代码 public class Executor public static void Main var c1 new Class1 c1 DoSomething public class Class
  • 如何使用 NPOI 按地址(A1、A2)获取 Excel 单元格值

    我有一个 Excel 单元格地址 例如 A1 A2 如何使用 C 中的 NPOI 框架以编程方式访问此单元格 我找到的一些 Java POI 示例代码 CellReference cr new CellReference A1 row my
  • Linux mremap 不释放旧映射?

    我需要一种方法将页面从一个虚拟地址范围复制到另一个虚拟地址范围 而无需实际复制数据 范围很大 延迟很重要 mremap 可以做到这一点 但问题是它也会删除旧的映射 由于我需要在多线程环境中执行此操作 因此我需要旧映射能够同时使用 因此稍后当
  • 逆向工程 ASP.NET Web 应用程序

    我有一个 ASP NET Web 应用程序 我没有源代码 该 bin 包含 10 个程序集和一个 compiled 文件 我在 App Code dll 上使用 Reflector 它向我显示了类和命名空间之类的东西 但它太混乱了 有没有什
  • 从新的 xlsx 文件中删除宏

    功能部分 下面的代码将 xlsm 文件中的 2 个选项卡保存到新的 xlsx 文件中 文件保持打开状态以进行编辑 错误 xlsm 选项卡在工作表代码中有触发器 该触发器无效 一旦在 xlsx 工作表中输入任何内容 就会导致错误 所需输出 编
  • 需要提取字符串中点后的最后一个数字,如“7.8.9.1.5.1.100”

    我需要提取 C 字符串中最后一个点后面的最后一个数字 例如 7 8 9 1 5 1 100 并将其存储在整数中 Added 该字符串也可以是 7 8 9 1 5 1 1 或 7 8 9 1 5 1 0 我还想验证它在最后一个点之前恰好是 7
  • 为什么以下 C 程序会出现总线错误?

    我认为这是第一个失败的 strtok 调用 好久没写C了 有点不知所措 非常感谢 include
  • INotifyPropertyChanged 和 propertyName

    我一直不确定它的含义propertyName实施时INotifyPropertyChanged 所以一般来说你实现INotifyPropertyChanged as public class Data INotifyPropertyChan
  • DataContractSerializer 事件/委托字段问题

    在我的 WPF 应用程序中 我正在使用DataContractSerializer序列化对象 我发现它无法序列化具有事件或委托声明的类型 考虑以下失败的代码 Serializable public abstract class BaseCl

随机推荐

  • ruby while 循环转换为 haskell

    我刚刚开始学习一些 Haskell 和函数式编程 但我发现很难掌握它 我正在尝试翻译一小段rubyHaskell 的代码 因为我喜欢函数式编程和 Haskell 提出的概念 更因为我来自数学领域 Haskell 看起来非常数学化 class
  • 在java中检索嵌套json中的所有键

    这是我写的程序 To change this template choose Tools Templates and open the template in the editor package javaapplication1 impo
  • iOS7中UISearchbar文本右对齐的方法

    你能告诉我如何在 iOS 7 中右对齐 UISearchbar 文本吗 我在iOS6中使用了这个 但现在它在iOS7中不起作用 hacking search bar UITextField searchField for UIView su
  • Android 中如何防止异常捕获?

    我正在尝试为 Android 开发一个应用程序 但我很难追踪在此过程中遇到的每个异常的来源和原因 我的代码在 Activity 中运行 如果我的一行引发异常 那么它不会停在该行并突出显示它 而是将我扔到 ActivityThread 类的代
  • Firebase:激活只读和非实时模式以提高浏览器性能

    激活只读和非实时模式以提高浏览器性能 我的项目中弹出消息 我也无法删除节点 我也读过这个https groups google com forum topic firebase talk qLxZCI8i47s 其中规定 如果您的 Fire
  • 更改 R 中多个 data.frame 对象中的单列名称

    我经常收到几个xts以日期作为行名称的对象 我必须改变那些xts物体进入data frame对象 但是当我这样做时 作为日期的行名称将成为名为的新第一列 ndex包含日期 但我需要那些Index要调用的列Date 因此 我想迭代地更改所有新
  • POST 请求中的 & 符号造成严重破坏

    我的 iPhone 应用程序有一个简单的 POST 它工作正常 除了传递一个 符号会导致后端中断 它几乎就像将其视为 GET 请求 符号分隔变量名称 我需要先进行某种编码吗 这是代码 NSString content NSString al
  • 如何在 Chrome 应用中手动清除 webview 的缓存?

    我正在开发一个 Chrome 应用程序 它在 webview 标签中显示一些网页内容 内容正在被缓存 当我编辑内容文件时 清除 Chrome 浏览器的缓存似乎并没有真正清除 webview 缓存 其中一篇文章建议每次 Chrome 应用程序
  • Ghostscript 目前可以将 PDF 转换为 PDF/X 吗?

    印刷厂要求我论文的 PDF 符合 PDF X1a 2001 标准 内容文件是使用编译的XeTeX LaTeX第二个 PDF 是封面设计Inkscape 0 48 我在这篇文章中找到的最接近的答案 https stackoverflow co
  • 修改图表_系列主题

    我正在尝试使用更改条形的颜色theme论点 但我得到一个错误 library quantmod getSymbols SPY from Sys Date 500 to Sys Date chart Series SPY chart Seri
  • Codeigniter 3 - Ajax 文件上传(您没有选择要上传的文件)

    控制器 function post if this gt input gt is ajax request show 404 exit data result false config upload path base url userfi
  • 面向对象设计:何时创建抽象类

    现在 我正在学习OOP 主要是c 我感兴趣的是创建一个无法实例化的类的主要原因是什么 何时创建抽象类的正确示例是什么 我发现自己过于热衷于以继承方式使用抽象类 系统中什么时候类是抽象的 什么时候类不应该是抽象的 是否有一些规则 例如 我创建
  • 在 Intellij Idea 中同时评估多个表达式

    在 Intellij Idea 中 我正在寻找一种使用一个命令在调试模式下评估多个表达式的方法 Normally I can evaluate single command with Right Click Evaluate Express
  • 为什么与 pthread 链接会导致分段错误?

    我有一个带有静态变量 abc cpp 的精简简单程序 include
  • 改变颜色时膨胀按钮的奇怪行为

    我正在尝试根据用户实时指定的输入为我的 Android 应用程序实现动态按钮膨胀 单击时 按钮的颜色从蓝色变为红色 负责此操作的代码如下 LayoutInflater layoutsInflater LayoutInflater getSy
  • Outlook VBA 宏用于将电子邮件副本保存在本地文件夹中

    每当发送电子邮件时 我希望将该电子邮件的副本以及所有附件保存在本地文件夹中 我认为这不可能通过 Outlook 中的自定义规则实现 但也许可以通过 VBA 脚本来完成 我使用 Outlook 和 MS Exchange 当然可以使用Appl
  • dict.items 和 dict.values 之间的行为不一致

    Note code examples in python3 but the question stands for python2 as well replacing keys with viewkeys etc dict对象提供 有时 支
  • 用于将 Excel 工作簿打开到启用加载项的特定工作表的 Visual Basic 脚本

    在安装了 64 位 Microsoft Office Professional Plus 2016 的 Windows 7 Enterprise x64 主机上工作 我想创建 Visual Basic 脚本vbscript 我的 Windo
  • python 素数 埃拉托斯特尼筛法

    大家好 谁能告诉我如何在这段代码中实现埃拉托斯特尼筛法以使其更快 如果您能用筛子完成它 我们将非常感谢您的帮助 在这个特定的代码中我真的很难做到这一点 usr bin env python import sys T 10 no of tes
  • 如何从excel导入documentDB中的批量数据?

    我已经浏览了一天有关如何从excel文件将批量数据插入documentDB的信息 但我没有得到任何信息 我可以从excel文件中读取数据并将其一一插入到documentDB中 Service service new Service fore