Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Удалить строки в Excel со сдвигом вверх


Автор: Voldemar2004 26.9.2011, 13:17
Удаляю столбец "D" в файле Excel, работает без проблем:

Код


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using Excel = Microsoft.Office.Interop.Excel;   // Excel
using System.IO;                                // DirectoryInfo;

namespace Material_Pomosh
{
    public partial class Form1 : Form
    {
        private Excel.Application excelapp;

        private Excel.Workbooks excelappworkbooks;
        private Excel.Workbook excelappworkbook;

        private Excel.Sheets excelsheets;
        private Excel.Worksheet excelworksheet;

        private Excel.Range excelcells;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {

                                    excelapp = new Excel.Application();

                                    string PathToFile = @"D:\1.xls";

                                    excelappworkbooks = excelapp.Workbooks;
                                    //Открываем книгу и получаем на нее ссылку
                                    excelappworkbook = excelapp.Workbooks.Open(PathToFile, Type.Missing, 1, Type.Missing, Type.Missing, Type.Missing,
                                        Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

                                    excelsheets = excelappworkbook.Worksheets;
                                    //Получаем ссылку на лист 1
                                    excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1);

                                    //---------------------------------------------------------------------------------
                                    // Удалить стоблец D со сдвигом влево
                                    excelcells = excelworksheet.get_Range("D:D", Type.Missing);
                                    excelcells.Columns.Delete(Left);
                                    //---------------------------------------------------------------------------------

                                    excelapp.Visible = true;

        }
    }
}




Как удалить строки, например в диапазоне от 11 до 15 в столбце "F" ?

Делаю так, с удалением строк вверх:

Код

excelcells = excelworksheet.get_Range("F11:F15", Type.Missing);
excelcells.Rows.Delete(Top);


Не получается, что не так ?

Автор: Voldemar2004 28.9.2011, 15:53
Код

excelcells.Rows.Delete(Type.Missing);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)