Как удалить всю строку из Excel с помощью Java Apache POI?

Один из способов автоматического выполнения этого - bbox_inches='tight' kwarg в plt.savefig .

Например

import matplotlib.pyplot as plt
import numpy as np
data = np.arange(3000).reshape((100,30))
plt.imshow(data)
plt.savefig('test.png', bbox_inches='tight')

Другой способ - использовать fig.tight_layout()

import matplotlib.pyplot as plt
import numpy as np

xs = np.linspace(0, 1, 20); ys = np.sin(xs)

fig = plt.figure()
axes = fig.add_subplot(1,1,1)
axes.plot(xs, ys)

# This should be called after all axes have been added
fig.tight_layout()
fig.savefig('test.png')

1
задан Ясир 18 January 2019 в 13:34
поделиться

1 ответ

Даже я столкнулся с теми же проблемами, но понял после нескольких исследований и обнаружил

Была ошибка / или они могли изменить поведение в <version>4.0.0</version> and <version>4.0.1</version> Apache Poi для

sheet1.shiftRows(rowIndex+1, lastIntext, -1);

Пожалуйста, используйте

<dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.17</version>
</dependency>

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.17</version>
</dependency>

И используйте свой код гораздо лучше, чтобы удалить вашу строку, как это

public static void removeRow(Sheet sheet, int rowIndex) {
        int lastRowNum = sheet.getLastRowNum();
        if (rowIndex >= 0 && rowIndex < lastRowNum) {
            sheet.shiftRows(rowIndex + 1, lastRowNum, -1);
        }
        if (rowIndex == lastRowNum) {
            Row removingRow = sheet.getRow(rowIndex);
            if (removingRow != null) {
                sheet.removeRow(removingRow);
            }
        }
    }

И это сработало для меня. Может быть, они могут обновить его в следующих выпусках API

Спасибо, если это помогло бы вам

0
ответ дан Kishan C S 18 January 2019 в 13:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: