Detecting Installed версия Excel (и пакеты обновления)

Как видно из сообщения об ошибке, AppBundle\Entity\ProductClient#product is not defined as association, but as field.

Просто удалите это @ORM\Column(name="product_id", type="integer") и это @ORM\Column(name="client_id", type="integer").

class ProductClient
{
    /**
     * @ORM\Id
     * @ORM\ManyToOne(targetEntity="Product", inversedBy="products_clients")
     * @ORM\JoinColumn(name="product_id", referencedColumnName="id_product", nullable=false)
     */
    protected $product;

    /**
     * @ORM\Id
     * @ORM\ManyToOne(targetEntity="Client", inversedBy="products_clients")
     * @ORM\JoinColumn(name="client_id", referencedColumnName="id_client", nullable=false)
     */
    protected $client;

    /**
     * @var bool
     *
     * @ORM\Column(name="status", type="boolean")
     */
    private $status;
}
5
задан MPelletier 5 May 2012 в 04:59
поделиться

3 ответа

Public Shared Function GetExcelVersion() As Integer
    Dim excel As Object = Nothing
    Dim ver As Integer = 0
    Dim build As Integer
    Try
        excel = CreateObject("Excel.Application")
        ver = excel.Version
        build = excel.Build
    Catch ex As Exception
        'Continue to finally sttmt
    Finally
        Try
            Marshal.ReleaseComObject(excel)
        Catch
        End Try
        GC.Collect()
    End Try
    Return ver
End Function

Возвращает 0, если Excel не найден.

6
ответ дан 13 December 2019 в 22:15
поделиться

К сожалению, такой подход - единственный надежный подход. Даже Microsoft предлагает использовать похожий метод (это для проверки вручную, но концепция идентична).

Если вы хотите сделать это в управляемом коде, я бы предложил просто перенести код из вашего ссылка и создание класса, который легко расширяется при выпуске новых пакетов обновления.

2
ответ дан 13 December 2019 в 22:15
поделиться

Хотя этот подход не является надежным, но это единственный способ, о котором я знаю.

Имейте в виду, что вам не нужно проверять точное соответствие. Вы можете использовать сравнения отдельных значений, чтобы узнать, является ли ваша версия, например, SP1 или новее. вы знаете, что он новее, если номер версии больше или равен «11.0.6355.0» (вам необходимо реализовать сравнение)

0
ответ дан 13 December 2019 в 22:15
поделиться
Другие вопросы по тегам:

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