Найти количество символов в ячейке Excel - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Вопрос. Нужно программно определить количество символов в каждой ячейки одного столбца, и если колличество символов не равно меньше 10 то добавить в начале ячейке, перед символами "0"(ноль), как это можно сделать? Прошу помочь. Ранее прогонял ячейки программно через прописывание в соседнем столбце ДЛСТР().

Решение задачи: «Найти количество символов в ячейке Excel»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Excel = Microsoft.Office.Interop.Excel;
using System.IO;
using System.Runtime.InteropServices;
 
namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
 
            Excel.Application xlApp;
            Excel.Workbook xlWorkBook;
            Excel.Worksheet xlWorkSheet;
            Excel.Range range;
            Excel.Application ObjExcel = new Excel.Application();
            Excel.Workbook ObjWorkBook;
            Excel.Worksheet ObjWorkSheet;
            string str;
            int rCnt;
            int cCnt;
  
            int rw = 0;
            int g = 0;
            int cl = 0;
            xlApp = new Excel.Application();
            xlWorkBook = xlApp.Workbooks.Open(@"C:\tariff02.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
            range = xlWorkSheet.UsedRange;
            rw = range.Rows.Count;
            cl = range.Columns.Count;
            ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value);
            ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];
            for (rCnt = 1; rCnt <= rw; rCnt++)                              
            {
                cCnt = 1;
                str = (string)(range.Cells[rCnt /* Номер строки */ , cCnt/* Номер столбца */] as Excel.Range).Value2;
 
                if (str == null) continue;  
                 if (str.Length > 10) ObjWorkSheet.Cells[rCnt, 1] = ("0" + str);
                else ObjWorkSheet.Cells[rCnt, 1] = (str);
            }
   
            xlWorkBook.Close(0);
            xlApp.Quit();
            ObjExcel.Visible = true;
            ObjExcel.UserControl = true;
        
        }
       }
      }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы