标签: linq-to-excel

在内存中阅读Excel电子表格

如何阅读刚刚发布到我的服务器的Excel电子表格?我搜索了一些东西,但我只找到了如何阅读带有文件名路径的Excel电子表格,这不是我的情况.

我需要这样的东西:

public ActionResult Import(HttpPostedFileBase file)
{
     var excel = new ExcelQueryFactory(file); //using linq to excel
}
Run Code Online (Sandbox Code Playgroud)

c# linq-to-excel

14
推荐指数
2
解决办法
9912
查看次数

LinqToExcel - 需要从特定行开始

我正在使用LinqToExcel库.到目前为止工作得很好,除了我需要在特定行开始查询.这是因为来自客户端的Excel电子表格在数据实际开始之前使用excel文件顶部的一些图像和"标题"信息.

数据本身将易于阅读并且相当通用,我只需要知道如何告诉从ExcelQueryFactory特定行开始.

我知道这个WorksheetRange<Company>("B3", "G10")选项,但我不想指定一个结束行,只是从哪里开始读取文件.

使用最新版本的LinqToExcel与C#

linq linq-to-excel

7
推荐指数
1
解决办法
9997
查看次数

特定行的LinqToExcel GetColumnNames

我正在使用库LinqToExcel来读取我的mvc4项目中的excel文件.我的问题是当我尝试读取第4行的标题时......我怎么能这样做?

在项目中,存在一个返回所有列名的函数,但我想这些列需要在第0行.

    // Summary:
    //     Returns a list of columns names that a worksheet contains
    //
    // Parameters:
    //   worksheetName:
    //     Worksheet name to get the list of column names from
    public IEnumerable<string> GetColumnNames(string worksheetName);
Run Code Online (Sandbox Code Playgroud)

谢谢.

c# linq-to-excel asp.net-mvc-4

7
推荐指数
2
解决办法
6897
查看次数

使用序号位置引用LinqToExcel中的列

我处于不寻常的位置,有两个不同的Excel上传模板,一个是"人性化的",一个是机器生成的.因此,列数据头是不同的,并且难以对齐它们.

因此,我想使用序数位置而不是列的"名称"来引用列映射.目前我有这个:

var excel = new ExcelQueryFactory(excelFileName);
excel.AddMapping<Student>(x => x.FirstName, "First Name");
excel.AddMapping<Student>(x => x.LastName, "Last Name");
excel.AddMapping<Student>(x => x.LastFour, "Last 4 Student ID");
excel.AddMapping<Student>(x => x.LastDate, "Last Date");
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

var excel = new ExcelQueryFactory(excelFileName);
excel.AddMapping<Student>(x => x.FirstName, "A");
excel.AddMapping<Student>(x => x.LastName, "C");
excel.AddMapping<Student>(x => x.LastFour, "G");
excel.AddMapping<Student>(x => x.LastDate, "H");
Run Code Online (Sandbox Code Playgroud)

其中字母是Excel中的列引用.

有没有办法做到这一点?

c# asp.net excel linq-to-excel

7
推荐指数
2
解决办法
4793
查看次数

无法加载文件或程序集'LinqToExcel,Version

我正在尝试读取xlsx文件.

我有例外

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine. c#
Run Code Online (Sandbox Code Playgroud)

然后我从这里安装它

http://www.microsoft.com/en-us/download/details.aspx?id=13255
Run Code Online (Sandbox Code Playgroud)

然后我改变了platform targetx64

现在我得到了这个例外:

BadImageFormatException was unhandeled

{"Could not load file or assembly 'LinqToExcel, Version=1.9.0.0, Culture=neutral, PublicKeyToken=9c8ea65a58f03f1f' or one of its dependencies. An attempt was made to load a program with an incorrect format."}
Run Code Online (Sandbox Code Playgroud)

更新1

我已经安装了linq_to_excel

Install-Package LinqToExcel
Run Code Online (Sandbox Code Playgroud)

然后将lib文件添加到引用

.net c# linq-to-excel

6
推荐指数
1
解决办法
9082
查看次数

C# - LINQToExcel - 空值

我正在尝试学习如何使用LINQTOExcel来查询CSV文件.按照网站上的教程,我调整了他们的示例来处理我的数据(文件名通过OpenDialog组件传递给它):

var csv  = new ExcelQueryFactory(filename);
var test = from c in csv.Worksheet<TestData>()
           select c;

foreach(var t in test)
{
    Console.WriteLine(t.Contract_Id);
}
Run Code Online (Sandbox Code Playgroud)

我有一个单独的TestData类/模型,如下所示:

class TestData
{
    public string Transaction_Id { get; set; }

    public string Value_Date { get; set; }

    public string Transmit_Date { get; set; }

    public string Transmit_Time { get; set; }

    public string Contract_Id { get; set; }

    public string Contract_Amount { get; set; }

    public string Contract_Rage { get; set; }

    public string TestAmount { get; …
Run Code Online (Sandbox Code Playgroud)

c# linq-to-excel

5
推荐指数
1
解决办法
3545
查看次数

使用LinqToExcel读取xlsx保存为xls

看看这篇文章:Excel"外部表不是预期的格式."

我在该帖子中描述了同样的问题,但我使用LinqtoExcel来读取文件而不是普通查询.

LinqToExcel等效设置连接字符串作为该帖子的答案表明了什么?

这是我正在使用的代码:

var excelOM = new ExcelQueryFactory(pPathArchivoOM);
var despachosClient = from c in excelOM.Worksheet<RegistroDespachoOM>("Tabla_1")
                         where c.DESTINAT.Contains("SOMETEXT")
                         select c;
//Identificar los despachos asociados a números de documento sin datos aún.
foreach (RegistroDespachoOM despacho in despachosClient)
{ ...
Run Code Online (Sandbox Code Playgroud)

我的问题是:在foreach开始时"外部表格不是预期的格式".

编辑(我的问题已经解决,但问题仍然没有答案):我正在使用EPPlus代替LinqToExcel执行此任务,现在一切正常.

c# linq-to-excel

5
推荐指数
1
解决办法
4069
查看次数

LinqToExcel点在标题中

使用linqtoexcel读取服务器生成的电子表格.唯一的问题是其中一个标题中有一个点,它拒绝拉.制造商缩写为Mfg.我在其页面上按照示例使用了以下代码

        ExcelQueryFactory excel = new ExcelQueryFactory();
        excel.FileName = myXLFile;
        excel.AddMapping<Part>(x => x.Manufacturer, "Mfg.");
        var parts = from x in excel.Worksheet<Part>(0)
                    select x;
Run Code Online (Sandbox Code Playgroud)

但制造商在所有对象中都是空的.我对Linq很新,所以不确定我可能有什么选择让这个工作.我想它在尝试映射到Part对象时被点弄糊涂了......

c# linq linq-to-excel

5
推荐指数
1
解决办法
741
查看次数

Visual Studio 2015 LinqToExcel无法正常工作

我有一个用VS2012编写的asp.net应用程序。在使用VS2015之前,我一直没有问题地使用LinqToExcel。这是我的代码:

var excel = new ExcelQueryFactory(fileName);
var entriesQuery = from entry in excel.Worksheet<VEntry>(0)
                                      where entry.MovieTitle != null
                                      select entry;

                var entries = entriesQuery.ToList();
Run Code Online (Sandbox Code Playgroud)

VEntry类

public class VEntry
    {
        [ExcelColumn("id kolekcji")]
        [DefaultValue("")]
        public String CollectionId { get; set; }

        [ExcelColumn("nazwa kolekcji")]
        [DefaultValue("")]
        public String CollectionName { get; set; }

        [ExcelColumn("Tytu? serialu/serii/filmu")]
        [DefaultValue("")]
        public String MovieTitle { get; set; }

        [ExcelColumn("Tytu? odcinka")]
        [DefaultValue("")]
        public String EpisodeTitle { get; set; }

        [ExcelColumn("Sezon")]
        [DefaultValue("")]
        public String Season { get; set; }

        [ExcelColumn("nr odcinka")]
        [DefaultValue("")] …
Run Code Online (Sandbox Code Playgroud)

c# linq-to-excel

5
推荐指数
1
解决办法
609
查看次数

使用linqtoexcel从excel文件中获取所有值

linqtoexcel在我的asp.net mvc 4项目中使用它来读取 Excel 文件并从那里获取所有值。但我只得到最后一行的值。这是我的代码,

控制器

    public ActionResult ExcelRead()
    {
        string pathToExcelFile = ""
        + @"C:\MyFolder\ProjectFolder\sample.xlsx";

        string sheetName = "Sheet1";

        var excelFile = new ExcelQueryFactory(pathToExcelFile);
        var getData = from a in excelFile.Worksheet(sheetName) select a;

        foreach (var a in getData)
        {
            string getInfo = "Name: "+ a["Name"] +"; Amount: "+ a["Amount"] +">>   ";
            ViewBag.excelRead = getInfo;
        }
        return View();
    }
Run Code Online (Sandbox Code Playgroud)

看法

@ViewBag.excelRead
Run Code Online (Sandbox Code Playgroud)

如何获取所有行的值?非常需要这个帮助!谢谢。

c# asp.net-mvc excel linq-to-excel

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

linq-to-excel ×10

c# ×9

excel ×2

linq ×2

.net ×1

asp.net ×1

asp.net-mvc ×1

asp.net-mvc-4 ×1