当前位置: 首页>>代码示例>>C#>>正文


C# XlsFile.GetCellValue方法代码示例

本文整理汇总了C#中XlsFile.GetCellValue方法的典型用法代码示例。如果您正苦于以下问题:C# XlsFile.GetCellValue方法的具体用法?C# XlsFile.GetCellValue怎么用?C# XlsFile.GetCellValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在XlsFile的用法示例。


在下文中一共展示了XlsFile.GetCellValue方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ReadDataTable

        /// <summary>
        /// Читает данные с текущего листа XLS-файла.
        /// </summary>
        /// <param name="xlsFile">XSL-файл.</param>
        /// <returns>Таблица с прочитанными данными.</returns>
        private static DataTable ReadDataTable(XlsFile xlsFile)
        {
            // установить имя таблицы
            DataTable table = new DataTable(xlsFile.GetSheetName(xlsFile.ActiveSheet));

            // первая строка - названия столбцов
            // вторая строка - типы столбцов
            if (xlsFile.RowCount < 2)
                throw new CoreInvalidOperationException(Resources.ResourceManager.GetString("InvalidFileFormatException"));

            // прочитать имена столбцов для таблицы
            for (int col = 0; col < xlsFile.ColCount; col++)
            {
                if (xlsFile.GetCellValue(1, col + 1) == null)
                    break;
                // прочитать тип столбца
                Type columnType = Type.GetType(xlsFile.GetCellValue(2, col + 1).ToString(), false);
                if (columnType == null)
                    throw new CoreInvalidOperationException(Resources.ResourceManager.GetString("InvalidFileFormatException"));

                table.Columns.Add(xlsFile.GetCellValue(1, col + 1).ToString(), columnType);
            }

            // прочитать данные
            int rowFrom = 2;
                /* XlsFile тупо обрабатывает
                 * вложенные картинки. Поместить картинку в определённую клетку можно,
                 * а вот взять её из клетки нельзя. Взять картинку можно только из массива
                 * рисунков Excel, начинающегося почему то с 2 (хотя в доке написано ч 1!).
                 * Будем надеяться, что они там в правильном порядке лежат.
                 */
            int imageCount = 2;
            for (int row = rowFrom; row < xlsFile.RowCount; ++row)
            {
                // Т.к. XlsFile очень часто врёт по поводу количества строк в файле,
                // то мы подстраховываемся таким образом. Считаем, что данные кончились,
                // если колонка 'A' в строке пустая
                if (xlsFile.GetCellValue(row + 1, 1) == null)
                    break;

                object[] values = new object[table.Columns.Count];
                for(int col = 0; col < table.Columns.Count; ++col)
                {
                    if(table.Columns[col].DataType == typeof( byte[] ))
                    {
                        TXlsImgType imageType = TXlsImgType.Unknown;
                        values[col] = ConvertValue( xlsFile.GetImage( imageCount++, ref imageType ),
                            table.Columns[col].DataType );
                    }
                    else
                    {
                        values[col] = ConvertValue( xlsFile.GetCellValue( row + 1, col + 1 ),
                            table.Columns[col].DataType );
                    }
                }
                table.Rows.Add(values);
            }

            return table;
        }
开发者ID:Confirmit,项目名称:Portal,代码行数:65,代码来源:ExcelDeserializer.cs

示例2: LerTitulosAba

        public static DataTable LerTitulosAba(XlsFile excel)
        {
            DataTable tabela = new DataTable();
            int qtdeColunas = excel.ColCountOnlyData;
            for (int cont = 1; cont <= qtdeColunas; cont++)
            {
                Object coluna = excel.GetCellValue(1, cont);

                if (coluna != null)
                {
                    try
                    {
                        tabela.Columns.Add(coluna.ToString());
                    }
                    catch (DuplicateNameException)
                    {
                        string nomeArquivo = excel.ActiveFileName.Split('\\')[excel.ActiveFileName.Split('\\').Length - 1],
                               aba = excel.ActiveSheetByName;

                        throw new Exception("O arquivo \"" + nomeArquivo + "\""  + ", na aba \"" + aba + "\", está com o nome de coluna \"" + coluna.ToString() + "\" duplicada. \n\n Por favor renomeie a coluna e salve o arquivo antes de prosseguir.");
                    }
                }
            }
            return tabela;
        }
开发者ID:rafaellrochaa,项目名称:FormataLayoutExcel,代码行数:25,代码来源:ManipulaExcel.cs

示例3: SaveExcel

        public void SaveExcel(string path, string hd_tally_sheet_id)
        {
            XlsFile myFile = new XlsFile(path);
            myFile.ActiveSheet = 1;

            int rowCount = myFile.RowCount;
            int colCount = myFile.ColCount;
            for (int i = 2; i <= rowCount; i++)
            {
                if (myFile.GetCellValue(i, 1) == null)
                {
                    break;
                }
                Puntland_Port_Taxation.Tally_Sheet_Details tsheet = new Tally_Sheet_Details();
                tsheet.tally_sheet_id = int.Parse(hd_tally_sheet_id);
                tsheet.way_bill_code = myFile.GetCellValue(i, 1).ToString();
                tsheet.goods_name = myFile.GetCellValue(i, 2).ToString();
                tsheet.units = (myFile.GetCellValue(i, 3).ToString());
                tsheet.quantity = myFile.GetCellValue(i, 4).ToString();
                tsheet.unit_of_measure = (myFile.GetCellValue(i, 5).ToString());
                tsheet.total_quantity = (myFile.GetCellValue(i, 6).ToString());
                db.Tally_Sheet_Details.Add(tsheet);
                db.SaveChanges();
            }
        }
开发者ID:BTEEMRIYAS,项目名称:TestProject,代码行数:25,代码来源:Manage_Tally_SheetController.cs

示例4: SaveExcel

        public int SaveExcel(string path)
        {
            XlsFile myFile = new XlsFile(path);
            myFile.ActiveSheet = 1;

            int rowCount = myFile.RowCount;
            int colCount = myFile.ColCount;
            //get from excel sheets

            int from_currency_id_ = 0;
            int to_currency_id_ = 0;
            decimal newrate = 0;
            string yyyymmdd = string.Empty;
            int updated_record_count = 0;

            for (int i = 2; i <= rowCount; i++)
            {
                //for (int j = 1; j <= colCount; j++)
                //{
                if (myFile.GetCellValue(i, 1) == null)
                {
                    break;
                }
                from_currency_id_ = GetCurrencyId(myFile.GetCellValue(i, 1).ToString());
                to_currency_id_ = GetCurrencyId(myFile.GetCellValue(i, 3).ToString());
                newrate = CheckDecimal(myFile.GetCellValue(i, 5).ToString());
                yyyymmdd = GetDateTime(myFile.GetCellValue(i, 6).ToString());

                if (from_currency_id_.Equals(0) || to_currency_id_.Equals(0) || yyyymmdd.Equals("0") || newrate.Equals(0))
                    goto skipSave;

                updated_record_count++;

                //update the old data
                var updateOld = from ord in db.Exchange_Rate
                                where ord.from_currency_id == from_currency_id_ && ord.to_currency_id == to_currency_id_ && ord.end_date == "9999/12/31"
                                select ord;
                foreach (Exchange_Rate ord in updateOld)
                {
                    ord.end_date = yyyymmdd;

                }

                db.SaveChanges();

                //adding a new record
                Exchange_Rate myDm = new Exchange_Rate();
                myDm.from_currency_id = from_currency_id_;
                myDm.to_currency_id = to_currency_id_;
                myDm.month_id = 1;
                myDm.exchange_rate1 = newrate;
                myDm.start_date = yyyymmdd;
                myDm.end_date = "9999/12/31";
                db.Exchange_Rate.Add(myDm);
                db.SaveChanges();

            skipSave:
                continue;
                //}
            }

            return updated_record_count;
        }
开发者ID:BTEEMRIYAS,项目名称:TestProject,代码行数:63,代码来源:Manage_Tax_CalculationController.cs

示例5: GerarExcel

        public void GerarExcel(string Nome_Arquivo_Origem,string Nome_Arquivo_Destino, int CodLayout, Dados d, ProgressBar statusGeracaoArquivo)
        {
            // Criando Aplicação
            XlsFile excelDestino = new XlsFile();
            XlsFile excelOrigem = new XlsFile();

            excelOrigem.Open(Nome_Arquivo_Origem);
            int QtdeLinhas = excelOrigem.RowCount;

            //Gerando arquivo de saída
            for (int i = 1; i <= excelOrigem.SheetCount; i++)
            {
                excelOrigem.ActiveSheet = i;
                excelDestino.NewFile(1);

                //LEITURA DOS DADOS ABAS
                int qtdeColunas = excelOrigem.ColCountOnlyData;

                if (qtdeColunas > 0)
                {
                    for (int cont = 1; cont <= qtdeColunas; cont++)
                    {
                        Object titulo = excelOrigem.GetCellValue(1, cont);

                        if (titulo != null)
                        {
                            string LetraColuna = d.PosicaoVinculada(CodLayout, titulo.ToString());
                            int numeroColuna;

                            try
                            {
                                numeroColuna = Convert.ToInt16(LetraColuna);
                            }
                            catch (Exception)
                            {
                                numeroColuna = LetrasParaNumero(LetraColuna);
                            }

                            if (LetraColuna != null)
                            {
                                excelDestino.InsertAndCopyRange(
                                    new TXlsCellRange(1, cont, QtdeLinhas, cont),
                                    1,
                                    numeroColuna,
                                    1,
                                    TFlxInsertMode.NoneRight,
                                    TRangeCopyMode.All,
                                    excelOrigem,
                                    i
                                );
                            }
                        }
                    }
                    int c = 0;

                    string novoNomeArquivo = Path.GetDirectoryName(Nome_Arquivo_Destino) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(Nome_Arquivo_Destino) + "_" + excelOrigem.SheetName + Path.GetExtension(Nome_Arquivo_Destino);

                    while (File.Exists(novoNomeArquivo))
                    {
                        c++;
                        novoNomeArquivo = Path.GetDirectoryName(Nome_Arquivo_Destino) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(Nome_Arquivo_Destino) + "_" + excelOrigem.SheetName + i + Path.GetExtension(Nome_Arquivo_Destino);
                    }

                    excelDestino.Save(novoNomeArquivo);
                }
                statusGeracaoArquivo.Value = statusGeracaoArquivo.Value + 1;
            }
        }
开发者ID:rafaellrochaa,项目名称:FormataLayoutExcel,代码行数:68,代码来源:ManipulaExcel.cs

示例6: SaveExcel

        public void SaveExcel(string path, string hd_tally_sheet_id)
        {
            XlsFile myFile = new XlsFile(path);
            myFile.ActiveSheet = 1;

            int rowCount = myFile.RowCount;
            int colCount = myFile.ColCount;

            for (int i = 2; i <= rowCount; i++)
            {
                if (myFile.GetCellValue(i, 1) == null || myFile.GetCellValue(i, 2) == null || myFile.GetCellValue(i, 3) == null || myFile.GetCellValue(i, 4) == null)
                {
                    continue;
                }
                Puntland_Port_Taxation.Tally_Sheet_Details tsheet = new Tally_Sheet_Details();
                tsheet.tally_sheet_id = int.Parse(hd_tally_sheet_id);
                tsheet.way_bill_code = myFile.GetCellValue(i, 1).ToString().Trim();
                tsheet.importer_name = myFile.GetCellValue(i, 2).ToString().Trim();
                tsheet.goods_name = myFile.GetCellValue(i, 3).ToString();
                tsheet.total_quantity = Convert.ToInt32((myFile.GetCellValue(i, 4).ToString()));
                tsheet.unit_of_measure = (myFile.GetCellValue(i, 5).ToString());
                var damaged = (myFile.GetCellValue(i, 6).ToString());
                damaged = damaged.ToLower();
                if (damaged == "yes")
                {
                    tsheet.is_damaged = true;
                }
                else
                {
                    tsheet.is_damaged = false;
                }
                db.Tally_Sheet_Details.Add(tsheet);
                db.SaveChanges();
            }
        }
开发者ID:BTEEMRIYAS,项目名称:TestProject,代码行数:35,代码来源:Manage_Tally_SheetController.cs


注:本文中的XlsFile.GetCellValue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。